@charset "utf-8";
/* CSS Document */
/*
*Common
****************************************/
html {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important;
}
body {
	min-height: 100vh;
	padding-bottom: 115px;
	position: relative;
	overflow-x: hidden;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important;
}
@media (max-width:767px) {
	body {
		padding-bottom: 100px;
		font-size: 14px;
	}
	html {
		font-size: 14px;
	}
}
.h65{font-size: 1.125rem;}
.robot {
	font-family: 'Roboto', sans-serif;
}
.white_link{
  color: #fff;
  transition: .3s opacity;
}
.white_link:hover{
  color: #fff;
  opacity: 0.8;
}
.opacity_link {
	color: inherit;
	transition: opacity .3s;
}
.opacity_link:hover {
	text-decoration: none;
	color: inherit;
	opacity: 0.6;
}
.btn .icon {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
.opacity-0 {
	opacity: 0 !important;
}
.opacity-1 {
	opacity: 0.2 !important;
}
.opacity-2 {
	opacity: 0.4 !important;
}
.opacity-3 {
	opacity: 0.6 !important;
}
.opacity-4 {
	opacity: .8 !important;
}
.opacity-5 {
	opacity: 1 !important;
}
.table-normal th, .table-normal td {
	padding: 0.75rem;
}
.border-bottom-dash {
	border-bottom-style: dashed;
}
@media (min-width:992px) {
	.table-lg-normal th, .table-lg-normal td {
		padding: 0.75rem;
	}
}
@media (min-width:575px) {
	.w-sm-50 {
		width: 50% !important;
	}
	.border-sm-right {
		border-right: 1px solid #dee2e6 !important;
	}
	.border-sm-bottom-0 {
		border-bottom: none !important;
	}
}
.bg-pale-orange {
	background-color: #fce0c5;
}
.local_nav .current, .local_nav a {
	border-bottom: 6px solid transparent;
}
.local_nav .current, .local_nav a:hover {
	border-bottom-color: #f5911e;
	text-decoration: none;
}
.pagination .page-link {
	width: 30px;
	height: 30px;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.material-symbols-outlined {
	font-family: 'Material Symbols Outlined' !important;
}
.form-control-plaintext {
	outline: none !important;
}
.cursor-pointer {
	cursor: pointer;
}
ol{padding-left: 1.2rem;}
/*ol.list_parentheses{
  padding:0 0 0 2em;
  margin:0;
}
ol.list_parentheses li{
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
}
ol.list_parentheses li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}*/
ol.list_parentheses {
	margin-left: 0.5em; /* サイトに合せて調整 */
}

ol.list_parentheses li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}

ol.list_parentheses li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.5em; /* サイトに合せて調整 */
	width: 3em; /* サイトに合せて調整 */
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
.tr_out{
  overflow: hidden;
}
.tr_out .table{word-break: keep-all}
/*
*icon
****************************************/
.icon {
	position: relative;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	display: inline-block;
	vertical-align: bottom;
}
.icon.icon_home {
	-webkit-mask-image: url("/fanfan/img/common/icon_home.png");
	mask-image: url("/fanfan/img/common/icon_home.png");
}
.icon.icon_log {
	-webkit-mask-image: url("/fanfan/img/common/icon_log.png");
	mask-image: url("/fanfan/img/common/icon_log.png");
}
.icon.icon_conf {
	-webkit-mask-image: url("/fanfan/img/common/icon_conf.png");
	mask-image: url("/fanfan/img/common/icon_conf.png");
}
/*
*header
****************************************/
.user_edit_btn {
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
.user_edit_btn span {
	line-height: 1em;
}
header {
	z-index: 100;
}
@media(min-width:992px) {
	header .container-fluid {
		height: 120px;
	}
}
@media(max-width:991px) {
	header .container-fluid {
		height: 40px;
	}
}
.header_nav {
	background-color: #fff;
	position: absolute;
	right: 1px;
	top: 0;
	align-items: center;
}
.header_nav a {
	display: flex;
	justify-content: center;
  flex-direction: column;
	align-items: center;
	padding: 0.5rem;
	background-color: #F5911E;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	transition: .3s;
  text-decoration: none;
}
.header_nav a p{
  margin-bottom: 0;
  margin-top: 0.25rem;
  color: #fff;
  font-size: 12px;
}
.header_nav a:hover p{
  color: #F5911E;
  text-decoration: none;
}
@media(min-width:992px) {
	.header_nav a {
		height: 120px;
		width: 120px;
	}
}
@media(max-width:991px) {
	.header_nav a {
		height: 40px;
		width: 40px;
	}
}
.header_nav .icon {
	background-color: #fff;
}
@media(min-width:992px) {
	.header_nav .icon {
		width: 35px;
		height: 35px;
	}
}
@media(max-width:991px) {
	.header_nav .icon {
		width: 20px;
		height: 20px;
	}
}
.header_nav a:hover {
	background-color: #FCE0C5;
}
.header_nav a:hover .icon {
	background-color: #F5911E;
}
@media (max-width:991px) {
	.top_icon {
		display: inline-block;
		height: 33px;
	}
	.top_icon img {
		object-fit: contain;
		object-position: left;
		max-height: 100%;
	}
}
.owner_box {
	border: 1px solid #e4e4e4;
	border-left: 6px solid #2BC1CE;
	display: inline-flex;
	background-color: #fff;
}
.ob_in {
	flex-grow: 1;
	position: relative;
	font-size: 0.875rem;
	padding: 0.5rem 0.75rem;
}
.ob_in:first-child::after {
	content: "";
	height: 60%;
	width: 1px;
	position: absolute;
	right: 0;
	top: 20%;
	background-color: #e4e4e4;
}
@media(min-width:992px) {
	.owner_box {
		min-width: 330px;
		min-height: 90px;
		margin-right: 20px;
	}
}
@media(max-width:991px) {
	.owner_box {
		min-width: 330px;
		max-width: 100%;
	}
}
.ob_out {
	transform: translateY(-50%);
	position: relative;
	z-index: 10;
	margin-top: -60px;
}
.btn_arrow {
	width: 255px;
	text-align: center;
	position: relative;
}
.btn_arrow::after {
	font-family: 'Material Icons Outlined';
	content: "\e5e1";
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
}
@media(max-width:767px) {
	.btn_arrow {
		width: 150px;
	}
}
.outline-bg-white:not(:hover){
	background-color: #fff;
}
.swiper-slide{height: auto;}
.ind_1em{
	text-indent: -1em;
	padding-left: 1em;
}
/*
*main
****************************************/
section {
	padding: 60px 0;
}
@media(max-width:767px) {
section {
	padding: 30px 0;
}
}
/*top*/
#mv {
	overflow-x: hidden;
	overflow-y: visible;
}
#mv .swiper {
	width: 720px;
	overflow: visible;
	max-width: 100%;
}
.swiper-button-next, .swiper-button-prev {
	background-color: #F5911E;
	opacity: 0.8;
	transition: .2s opacity;
	border-radius: 50%;
	text-align: center;
}
.swiper-button-next span, .swiper-button-prev span {
	color: #fff;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
	opacity: 1;
}
.swiper-button-next {
	right: 0;
	transform: translateX(50%);
}
.swiper-button-prev {
	left: 0;
	transform: translateX(-50%);
}
@media(min-width:768px) {
	.swiper-button-next, .swiper-button-prev {
		width: 45px;
		height: 45px;
	}
}
@media(max-width:767px) {
	#mv .swiper-button-next, #mv .swiper-button-prev {
		display: none;
	}
	.swiper-button-next, .swiper-button-prev {
		width: 30px;
		height: 30px;
	}
	.swiper-button-next span, .swiper-button-prev span {
		font-size: 18px;
	}
}
.swiper-button-next::after, .swiper-button-prev::after {
	display: none;
}
#mv .swiper-slide{
	aspect-ratio: 72/43;
}
#mv .swiper-slide a{
	display: block;
	width: 100%;
	height: 100%;
}
#mv .swiper-slide img{
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
#mv .swiper-slide:not(.swiper-slide-active) {
	opacity: 0.4;
}
#bg_area {
	background-image: url("../img/top/bg.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.bg_area_body {
	padding-top: 80px;
	padding-bottom: 80px;
}
.name_card {
	max-width: 550px;
	margin-bottom: 60px;
}
.gold {
	color: #e1be70
}
.silver {
	color: #a49ea3
}
.platinum {
	color: #cacab3
}
.help_btn {
	top: 0;
	right: 0;
	outline: none !important;
}
.top_card_title span {
	background-image: url("../img/common/line_stone.png");
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: 164px 8px;
}
.top_news_list li, .news_list .card-body {
	text-overflow: ellipsis;
	/*white-space: nowrap;*/
	overflow: hidden;
	width: 100%;
}
.news_list .card-body{
  font-size: 18px;
}
#top_btn {
	position: relative;
}
#top_btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 295px;
	background-image: url("../img/top/bottom_bg.png");
	background-repeat: repeat;
	background-position: center;
	background-size: 146px 146px;
	clip-path: polygon(93% 0, 0 0, 0 100%);
}
#top_bottom {
	position: relative;
	padding-bottom: 260px;
}
#top_bottom::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 250px;
	background-image: url("../img/top/bottom_bg.png");
	background-repeat: repeat;
	background-position: center;
	background-size: 146px 146px;
	clip-path: polygon(0% 100%, 0% 44%, 100% 0%, 100% 100%);
}
#top_bottom .container::after {
	content: "";
	position: absolute;
	bottom: -190px;
	right: 15px;
	background-image: url("../img/top/bottom_img.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
	width: 367px;
	height: 204px;
	z-index: 10
}
.top_btn {
	overflow: hidden;
	display: block;
}
.top_btn::before {
	content: "";
	position: absolute;
	top: -410px;
	left: -410px;
	background-color: #f5911e;
	width: 500px;
	height: 500px;
	transform: rotate(45deg);
	transition: .5s;
	z-index: 5;
}
.top_btn.disabled::after{
  content: "準備中";
  background-color: rgba(180,180,180,0.7);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  color: #fff;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_btn.disabled::before {
	background-color: #ccc;
}
.top_btn:not(.disabled):hover::before {
	top: -110px;
	left: -110px;
}
.top_btn:not(.disabled):hover span {
	color: #fff !important
}
.top_btn span {
	z-index: 10;
	position: relative;
}
.top_btn img {
	width: 86px;
}
.top_btn_out {
	gap: 2rem 0;
}
@media (min-width:768px) {
	.top_btn img {
		width: 86px;
		height: 86px;
	}
	.top_btn_out {
		gap: 1rem 0;
	}
}
@media (max-width:767px) {
	.top_btn img {
		width: 40px;
		height: 40px;
	}
	.top_btn {
		margin-bottom: 1rem;
	}
	.top_btn_out .col-4 {
		padding-left: 5px;
		padding-right: 5px;
	}
	.top_btn_out {
		gap: 10px 0;
	}
}
.top_btn .text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	vertical-align: middle;
	height: 2em;
	margin-bottom: 0;
}
@media (min-width:768px) {
	.top_btn .text {
		font-size: 1.375rem;
	}
}
@media (max-width:767px) {
	.top_btn .text {
		font-size: 0.75rem;
	}
}
.login_form, .popup_area {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
}
.login_box {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 460px;
	width: 100%;
}
.close_btn {
	top: 0;
	right: 0;
	transform: translate(50%, -50%);
	width: 40px;
	height: 40px;
}
.login_form input::-webkit-input-placeholder {
	font-family: 'Material Icons';
	color: #cacaca;
}
.login_form input::-moz-placeholder {
	font-family: 'Material Icons';
	color: #cacaca;
}
.login_form input:-ms-input-placeholder {
	font-family: 'Material Icons';
	color: #cacaca;
}
.login_form input:-moz-placeholder {
	font-family: 'Material Icons';
	color: #cacaca;
}
.form_table th {
	min-width: 140px;
}
.family_box .form-inline .form-group input {
	max-width: 100%;
}
@media (max-width:991px) {
	.family_box .form-inline .form-group:first-child, .family_box .form-inline .form-group:nth-child(3) {
		width: 6em;
	}
	.family_box .form-inline .form-group:nth-child(2) {
		max-width: calc(100% - 12em);
	}
}
.popup_btn {
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}
.popup_area .card {
	width: 450px;
	max-width: calc(100% - 50px);
}
.new_badge {
	top: -15px;
	left: -10px;
}
.news_card_out .new_badge{
  top: -5px;
  left: 5px;
}
.article_link:hover {
	opacity: 0.6;
}
.note-video-clip {
	width: 100%;
	height: 100%;
}
.video_out {
	margin: 0 auto;
	max-width: 640px;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.plus {
	display: none;
}
.collapsed .plus {
	display: inline;
}
.collapsed .minus {
	display: none;
}
.card-header {
	border-bottom: 1px dashed #e4e4e4;
}
.collapsed .card-header {
	border-bottom: none;
}
@media (min-width:768px) {
	.item_thumb {
		max-width: 300px;
		min-width: 300px;
		aspect-ratio: 4 / 3;
	}
}
@media (max-width:767px) {
	.item_thumb {
		max-width: 430px;
		min-width: 300px;
		aspect-ratio: 4 / 3;
	}
}
.item_thumb img {
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	background-color: #eee;
}
.item_body {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.item_btn {
	bottom: 0;
}
.custom-file-label::after {
	background-color: #f5911e;
	color: #fff;
	content: "＋";
}
/*バナーエリア*/
#bnr_area {
	background-color: #FCF5E0;
}
#bnr_area .bnr_box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	gap: 20px 30px;
	margin: 0 auto;
}
#bnr_area .bnr_box .bnr_link {
	display: block;
	width: 100%;
	/*max-width: 440px;*/
	aspect-ratio: 3/2;
	transition: transform .3s;
}
#bnr_area .bnr_box .bnr_link:hover{
	transform: scale(1.05);
}
#bnr_area .bnr_box .bnr_link img{
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
@media (max-width:991px) {
	#bnr_area .bnr_box {
		gap:15px 10px;
	}
	#bnr_area .bnr_box .bnr_link {
		width: calc((100% - 30px) / 2);
	}
}
@media (min-width:992px) {
	#bnr_area .bnr_box .bnr_link {
		width: calc((100% - 30px) / 2);
	}
}
@media (max-width:575px) {
	#bnr_area .bnr_box {
		flex-wrap: wrap;
	}
}
/*施工事例*/
#works {
	overflow: hidden;
}
.works_photo {
	display: block;
	overflow: hidden;
	/*margin-bottom: 10px;*/
	vertical-align: top;
}
.works_photo img {
	transition-duration: 0.4s;
	background-color: #fff;
	display: block;
}
.works_photo:hover img {
	transform: translateX(-50%) scale(1.1);
	transition-duration: 0.4s;
	filter: alpha(opacity=70); /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* ie 8 */
	-moz-opacity: 0.7; /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7; /* Safari 1.x */
	opacity: 0.7 !important;
	zoom: 1;
}
.works_txt {
	font-size: 20px;
	font-weight: bold;
	display: block;
	margin-bottom: 20px;
}
.works_wrap a {
	display: block;
	aspect-ratio: 16/9;
	overflow: hidden;
}
.works_wrap a img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
.works_wrap a:hover .works_txt {
	color: #a0272d;
}
.works_look {
	border: #fff 1px solid;
	margin-bottom: 50px;
}
.works_look h4 {
	background-color: #eda55f;
	font-size: 18px;
	padding: 15px;
	margin-bottom: 0;
	text-align: center;
}
.w_btnbox {
	padding: 15px 15px 0;
}
.btn_work {
	background-color: #35211b;
	color: #fff;
	border-radius: 20px;
	padding: 15px;
	margin-bottom: 15px;
	width: 100%;
}
.btn_work:hover, .btn_work:focus {
	background: #52352d;
	color: #fff;
}
.works_txtarea {
	color: #35211b !important;
	margin-top: 30px;
}
.works_txtarea a {
	color: #000;
}
.works_txtarea a:hover {
	color: #000;
	text-decoration: underline;
}
@media (min-width:992px) {
	.works_txtarea {
		margin-top: 80px;
	}
}
#works .container {
	position: relative;
}
#works .swiperarea {
	margin-bottom: 60px;
}
#works .swiper-container {
	width: 100%;
	overflow: hidden;
}
#works .swiper-slide.row {
	width: calc(100% + 30px) !important;
}
#works .swiperarea::after {
	background-color: #FCF5E0;
	content: "";
	position: absolute;
	right: 0;
	bottom: -60px;
	height: 100%;
	width: 75%;
}
@media (max-width:991px) and (min-width:1px) {
	#works .swiperarea::after {
		height: calc(100% - 60px);
		width: 83.33333%;
		bottom: 0;
	}
}
#works .work_bg div {
	height: 480px;
	background-color: #FCF5E0;
	margin-top: -288px;
}
@media (max-width:991px) and (min-width:1px) {
	#works .work_bg {
		position: absolute;
		top: 25%;
		right: 0;
		height: 67%;
		width: calc(100% - 15px);
	}
	#works .work_bg div {
		height: 100%;
		margin-top: 0;
	}
}
@media (max-width:575px) and (min-width:1px) {
	#works .work_bg {
		top: 20%;
		height: 73%;
	}
}
#works .swiper-pagination-bullet {
	background-color: #fff !important;
	opacity: 1 !important;
	border: 1px solid #F5911E;
	border-radius: 50%;
}
#works .swiper-pagination-bullet-active {
	background-color: #F5911E !important;
}
#works .swiper-button-next, #works .swiper-button-prev {
	position: static !important;
	transition: .3s;
	transform: translate(0);
}
#works .swip_btnbox {
	display: flex;
	justify-content: space-between;
	width: 120px;
	position: absolute;
	bottom: 0;
	right: 20px;
	z-index: 1;
}
@media (max-width:991px) {
	#works .swip_btnbox {
		bottom: 20px;
	}
}
@media (max-width:767px) and (min-width:1px) {
	#works .swip_btnbox {
		width: 90px;
		bottom: 12px;
	}
}
#works .swiper-pagination {
	width: 54px;
	left: auto;
	right: 185px;
	bottom: 18px !important;
}
@media (min-width:768px) {
	#works .swiper-pagination {
		right: 319px;
		bottom: 10px !important;
	}
}
@media (min-width:992px) {
	#works .swiper-pagination {
		right: 319px;
	}
}
@media (min-width:1201px) {
	#works .swiper-pagination {
		right: 395px;
	}
}
@media (max-width:991px) and (min-width:768px) {
	#works .swiperarea {
		padding-bottom: 90px;
	}
}
@media (max-width:767px) {
	#works .swiperarea {
		padding-bottom: 70px;
	}
}
#column{
	background: linear-gradient(to top,#FCF5E0 60%,transparent 60%, transparent 0%);
}
/*instagram*/
#instagram {
	/*background-color: #e3e3e3;*/
}
.ig_thumbs {
	width: 100%;
	position: relative;
	display: block;
	aspect-ratio:1/1;
}
.ig_thumbs img {
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: #fff;
	display: block;
	transition-duration: 0.4s scale;
}
.ig_thumbs img.hlong {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: #fff;
	display: block;
	transition-duration: 0.4s scale;
}
.ig_thumbs {
	overflow: hidden;
}
.ig_thumbs img:hover {
	transform: translate(-50%,-50%) scale(1.1);
	transition-duration: 0.4s;
	filter: alpha(opacity=70); /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* ie 8 */
	-moz-opacity: 0.7; /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7; /* Safari 1.x */
	opacity: 0.7;
	zoom: 1;
}
.ig_thumbs::before {
  content: "";
  display: block;
  padding-top: 100%;
}
#instafeed{
	display: flex;
	flex-wrap: wrap;
}
.instabox {
	/*backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
	aspect-ratio:1/1;*/
}
@media(min-width:992px){
	#instafeed{
		gap:0.75rem;
	}
	.instabox {
		width: calc((100% - 3rem) / 5);
		/*width: 20%;*/
		height: auto;
	}
	.instabox:nth-child(n+11){
		display: none;
	}
}
@media(max-width:992px) and (min-width:768px){
	#instafeed{
		gap:0.75rem;
	}
	.instabox {
		width: calc((100% - 1.5rem) / 3);
		height: auto;
	}
	.instabox:nth-child(n+10){
		display: none;
	}
}
@media(max-width:767px) {
	#instafeed{
		gap:0.5rem;
	}
	.instabox {
		width: calc((100% - 0.5rem) / 2);
		height: auto;
	}
	.instabox:nth-child(n+5){
		display: none;
	}
}

#intro a{
	background-image: url("../img/top/intro.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 1rem;
	position: relative;
	min-height: 220px;
	width: 650px;
	max-width: 100%;
	color: #fff;
}
#intro a span{
	position: relative;
	z-index: 5;
}
#intro a::before{
	content: "";
	border: 1px solid #fff;
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	width: calc(100% - 1rem);
	height: calc(100% - 1rem);
	background-color: rgba(0,0,0,0.3);
}
#intro a::after{
	content: "";
	background: linear-gradient(to bottom right,transparent 0%,transparent 50%,#fff 50%,#fff 100%);
	position: absolute;
	bottom: 0.5rem;
	right: 0.5rem;
	width: 1rem;
	height: 1rem;
}
.cat_color1{
	border-color: #FC6590;
	color: #FC6590;
}
.cat_color2{
	border-color: #FC9AB2;
	color: #FC9AB2;
}
.cat_color3{
	border-color: #7BC605;
	color: #7BC605;
}
.cat_color4{
	border-color: #04AA4F;
	color: #04AA4F;
}
.cat_color5{
	border-color: #05AAD1;
	color: #05AAD1;
}
.cat_color6{
	border-color: #41D6E5;
	color: #41D6E5;
}
.cat_color7{
	border-color: #FC5106;
	color: #FC5106;
}
.cat_color8{
	border-color: #F5911E;
	color: #F5911E;
}
.cat_color9{
	border-color: #D6AE05;
	color: #D6AE05;
}
.cat_color10{
	border-color: #00A79B;
	color: #00A79B;
}
.cat_color11{
	border-color: #890444;
	color: #890444;
}
.cat_color12{
	border-color: #ED216B;
	color: #ED216B;
}
.cat_color13{
	border-color: #662D8F;
	color: #662D8F;
}
.cat_color14{
	border-color: #9169B7;
	color: #9169B7;
}
.cat_color15{
	border-color: #1B1464;
	color: #1B1464;
}
.cat_color16{
	border-color: #0053B7;
	color: #0053B7;
}
a.cat_color1:hover, .cat_color1.active{
	background-color: #FC6590;
	color: #FFF;
}
a.cat_color2:hover, .cat_color2.active{
	background-color: #FC9AB2;
	color: #FFF;
}
a.cat_color3:hover, .cat_color3.active{
	background-color: #7BC605;
	color: #FFF;
}
a.cat_color4:hover, .cat_color4.active{
	background-color: #04AA4F;
	color: #FFF;
}
a.cat_color5:hover, .cat_color5.active{
	background-color: #05AAD1;
	color: #FFF;
}
a.cat_color6:hover, .cat_color6.active{
	background-color: #41D6E5;
	color: #FFF;
}
a.cat_color7:hover, .cat_color7.active{
	background-color: #FC5106;
	color: #FFF;
}
a.cat_color8:hover, .cat_color8.active{
	background-color: #F5911E;
	color: #FFF;
}
a.cat_color9:hover, .cat_color9.active{
	background-color: #D6AE05;
	color: #FFF;
}
a.cat_color10:hover, .cat_color10.active{
	background-color: #00A79B;
	color: #FFF;
}
a.cat_color11:hover, .cat_color11.active{
	background-color: #890444;
	color: #FFF;
}
a.cat_color12:hover, .cat_color12.active{
	background-color: #ED216B;
	color: #FFF;
}
a.cat_color13:hover, .cat_color13.active{
	background-color: #662D8F;
	color: #FFF;
}
a.cat_color14:hover, .cat_color14.active{
	background-color: #9169B7;
	color: #FFF;
}
a.cat_color15:hover, .cat_color15.active{
	background-color: #1B1464;
	color: #FFF;
}
a.cat_color16:hover, .cat_color16.active{
	background-color: #0053B7;
	color: #FFF;
}

.cat_color_select1{
	background-color: #FC6590;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select2{
	background-color: #FC9AB2;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select3{
	background-color: #7BC605;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select4{
	background-color: #04AA4F;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select5{
	background-color: #05AAD1;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select6{
	background-color: #41D6E5;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select7{
	background-color: #FC5106;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select8{
	background-color: #F5911E;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select9{
	background-color: #D6AE05;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select10{
	background-color: #00A79B;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select11{
	background-color: #890444;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select12{
	background-color: #ED216B;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select13{
	background-color: #662D8F;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select14{
	background-color: #9169B7;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select15{
	background-color: #1B1464;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.cat_color_select16{
	background-color: #0053B7;
	color: #FFF;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.news_card .img_out{
	aspect-ratio: 3/2;
}
.news_card img{
	max-width: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.news_card{
	height: 100%;
}
.cat_list{
	display: flex;
	gap: 5px;
	margin-top: 1rem;
	flex-wrap: wrap;
}
.cat_list .cat_item{
	border: 1px solid;
	padding: 2px 5px;
	border-radius: 5px;
}
#news,#column{
	overflow-x: hidden;
}
#news .swiper,#column .swiper{
	max-width: 80%;
	overflow: visible;
}
#intro3 h2,#intro4 h2{
	font-size: 2.1875rem;
}

@media(max-width:767px){
	#intro3 h2,#intro4 h2{
		font-size: 1.5rem;
	}
}
@media(max-width:767px){
	#intro3,#intro4{padding-top:0;}
}
.bg-yellow{
	background-color: #FFF276;
	font-size: 1.25rem;
}
.border-yellow{
	border: 2px solid #FFF276;
}


/*
*introduction
****************************************/
.mv_sp{
	position: relative;
	background: url("../img/introduction/mv_sp_bg.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-position: top;
	text-align: center;
	padding-top: 10%;
	padding-bottom: 8%;
}
.mv_sp_txt{
	width: 90%;
}
.mv_sp_r{
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 31%;
}
.mv_sp_l{
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 21%;
}

@media(max-width:575px) {
	.mv_sp{
		padding-bottom: 12%;
	}
	.mv_sp_txt{
		width: 95%;
	}
	.mv_sp_r{
		width: 35%;
	}
	.mv_sp_l{
		width: 25%;
	}
}

.intro_tit{
	font-size: 1.5rem;
}
@media(max-width:767px) {
.intro_tit{
	font-size: 1.125rem;
}
}
#intro5{
	background-color: #FFF276;
	background-image: url("../img/introduction/masuda.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 80% auto;
}

.address{
	font-size: 1.5rem;
}
@media(max-width:767px) {
.address{
	font-size: 1.125rem;
}
}
.cat_nav{
	padding: 1rem;
	max-height: 100vh;
	overflow-y: auto;
	display: flex;
	gap: 10px;
}
.cat_nav a{
	text-decoration: none;
}
@media(max-width:767px) {
	.cat_nav{
		position: fixed;
		top: 0;
		left: 0;
		transform: translateX(-100%);
		background-color: rgba(255,255,255,0.95);
		transition: .3s;
		width: 100%;
		height: 100%;
		z-index: 1000;
    padding-top: 40px;
	}
  .cat_nav::before{
    content: "×";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background-color: #f5911e;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2rem;
  }
	.cat_nav .cat_list{
		align-items: flex-start;
    display: block;
	}
  .cat_nav .cat_list .cat_item{
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 10px;
  }
	.cat_nav.active{
		transform: translateX(0);
	}
}

/*
*footer
****************************************/
footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
@media(max-width:767px) {
	.footer_link {
		font-size: 0.75rem
	}
	footer .icon img {
		width: 170px
	}
}