@charset "UTF-8";
/* ------ 共通 ------ */
html {
  margin: 0px;
  padding: 0px;
}

body {
  font-size: 14px;
  color: #333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", serif;
  letter-spacing: 0.05em;
  margin: 0px;
  padding: 0px;
  font-weight: normal;
}

blockquote, body, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, td, textarea, th, ul {
/*
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: 14px;
*/
  font-weight: normal;
}

img {
	width: 100%;
	vertical-align: bottom;
	display:inline-block;
}
textarea{
	margin: 3px 2px;
	/* width: 620px !important; */
	padding: 8px 8px;
	border: 2px solid #ccc;
	height:200px;
}

.row-tools img {
    width: 20px;
    height: auto;
}
.contents-body .list-table td.row-tools a {
    display: inline-block;
    margin-bottom: 5px;
}
.contents-body .list-table td.row-tools label {
	display: inline-block;
	width: 20px;
	text-align: center;
}
.contents-body .list-table td.row-tools label input[type=checkbox] {
	width: 13px;
	height: 13px;
}
.list-tool input[type=checkbox] {
	width: 13px;
	height: 13px;
}

.fv .mb_logo {
  text-align: center;
}
.fv .mb_logo img {
  width: 80%;
}

main {
	padding: 70px 1.5em 1em;
	display: flex;
	justify-content: space-between;
}
main.page-main {
	min-height: 1000px;
}

.itemHelp {
	text-indent: -1em;
	padding-left: 1em;
	font-size:0.7em;
	text-align:left;
}


ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}

.wrapper {
/*  max-width: 1012px; */
  margin: 0 auto;
}

#main_wrapper {
	width: 100%;
	position: relative;
	overflow: hidden; /* スライダーのはみ出しを隠す */
}

.navi_right{
	position: absolute;
	top: 4.0em;
	right: -1.5em;
	z-index:1000;
}


.privacy .page_content ul, .terms .page_content ul {
	list-style-type: disc;
	margin-block-start: 1em;
	margin-block-end: 1em;
	padding-inline-start: 40px;
}






@keyframes section__ttlAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
a {
	text-decoration: none;
	transition: all 0.3s ease;
	color: #333;
}
a.under_a {
	text-decoration: underline;
}

.sp_view {
	display:none;
}
.pc_view {
	display:block;
}

.sp_414_block {
  display: none;
}

/* ------ ヘッダー ------ */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  margin: 0 auto;
  width: 100%;
}
.header__ttl {
  font-size: 1.5em;
  margin-bottom: 11px;
  margin-left: 2em;
}
.header__ttl a {
  position: relative;
}
.header__ttl a img {
  width: 20px;
    margin: 0;
    position: absolute;
    top: 7px;
    left: -28px;
}


.header__box {
  display: flex;
}

/* navArea */
.nav {
  padding-top: 0;
}
.nav__lists {
  display: flex;
  align-items: center;
  height: 60px;
}
.nav__lists .nav__list {
  margin-right: 2.8vw;
}

.nav__lists li:hover a::before, .menu__lists li:hover a::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.nav__lists li a, .menu__lists li a {
  position: relative;
  display: block;
  z-index: 1;
  font-size: 20px;
/*  font-family: "Marcellus", serif; */
  font-weight: normal;
  letter-spacing: 0.06em;
  line-height: 60px;
}
.nav__lists li a::before, .menu__lists li a::before {
  position: absolute;
  bottom: 17px;
  left: 0;
  width: 100%;
  display: block;
  border-bottom: #333 1px solid;
  content: "";
  z-index: 2;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .5s ease;
}

.header .icon-btn {
  width: 60px;
}
.header .icon-btn a {
  height: 60px;
  color: #fff;
  font-size: 1.3rem;
  align-items: center;
  display: flex;
  text-align: center;
  justify-content: center;
  background-color: #2196F3;
  transition: background-color .3s;
}

.header .icon-btn.tool-btn a {
	background-color: #5c8fc3;
}


.header .icon-btn a:hover {
  color: #333;
  background-color: #00bcd4;
}
.header .icon-btn.tool-btn a:hover {
  color: #333;
  background-color: #00bcd4;
}

.menu-btn {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  top: 0;
  right: 0;
  padding: 0 0 2px;
  width: 80px;
  height: 60px;
  font-size: 12px;
  text-align: center;
  cursor: pointer;
  z-index: 999;
  width: 60px;
  height: auto;
  transition: .6s;
  transition: opacity 0.6s;
}
.menu-btn .menu-btn__parts {
  transition: transform 0.5s, opacify 0.5s;
  display: block;
  position: absolute;
  width: 60%;
  width: 24px;
  border-bottom: solid 2px #333;
  transition: .3s;
}
.menu-btn .menu-btn__parts.-top {
  top: 2.4rem;
	top: 1.42rem;
}
.menu-btn .menu-btn__parts.-bottom {
  bottom: 2.2rem;
	bottom: 1.4rem;
}

/* ハンバーガーメニュー */
.menu-btn.active .menu-btn__parts.-top {
  transform: translateY(10px) rotate(-45deg);
}
.menu-btn.active .menu-btn__parts.-bottom {
  transform: translateY(-4px) rotate(45deg);
}

.menu {
  position: fixed;
  z-index: 10;
  top: 0;
  right: -15em;
  width: 34em;
  height: 100vh;
  transform: translateX(60vw);
  transition: all 0.6s;
  background-color: #f8f8f8;
}
.menu.active {
  right: 0;
  transform: none;
}
.menu__lists {
  width: 100%;
  height: auto;
  margin-top: 6em;
}
.menu__lists .menu__list {
  text-align: center;
  margin-top: 1em;
}
.menu__lists .menu__list a {
  display: inline-block;
  font-size: 2em;
}
.menu__lists .menu__list a::before {
  bottom: 10px;
  border-bottom: #333 2px solid;
}

.icon_btn__lists {
  display: flex;
  justify-content: center;
  margin-top: 3em;
}
.icon_btn__lists li {
  margin: 0 1em;
}
.icon_btn__lists li a:hover {
  opacity: 0.6;
}
.icon_btn__lists li img {
  width: 2em;
  height: 2em;
}



.login-etc{
	width: 240px;
	display: block;
	margin: 0.5em auto;
	line-height: 1.8;
}
p.submit{
	text-align: center;
}
.foot-etc {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0.5em 0.2em;
	line-height: 1.8;
	text-align: center;
	margin-top: 5em;
}
.foot-etc .btp {
	margin: 0 0.5em;
	display: inline-block;
}


.bca-textbox{
	display: block;
	width: auto;
}
.bca-textbox input[type=text], .bca-textbox input[type=password],
.bca-textarea textarea
{
	display: block;
	margin: 0 auto;
	padding: 10px;
	width: calc(100% - 20px);
	border: 1px solid #CCC;
	border-radius: 4px;
	font-size: 16px;
}
.bca-textarea textarea
{
	margin: 0;
}

.bca-radio-group{

}
.bca-radio-group .bca-radio{

}
.radjimenu {
	line-height: 1;
}
.radjimenu .bca-radio-group .bca-radio{
	display:block;
	text-indent: -1em;
	padding-left: 1em;
}
.radjimenu input[type=radio]{
	width: 16px;
	height: 16px;
	margin-right: 0.5em;
}

.h3 {
	font-size: 1.6em;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
	margin-bottom: 0.85em;
}

.section__pagenavi {
	margin-bottom:1em;
}
.section__pagenavi a {
	text-decoration:underline;
}




/* セクションリンク */
.section {
  max-width: 1012px;
  margin: 0 auto;
  padding: 102px 5% 90px;
  position: relative;
  z-index: 1;
}
section.section {
  width: calc(100% - 2em);
}
	#topmain.section {
		max-width: 1400px;
		padding: 0 3% 1em;
	}

	#mysites_content #area_signin{
		max-width: 400px;
		width: calc(100% - 1em);
	}

.section::after {
  max-width: 1012px;
  margin: 0 auto;
  position: absolute;
/*  border-bottom: 1px solid #333; */
  top: 0;
  left: 5%;
  right: 5%;
  height: 0;
  content: "";
  z-index: -1;
}

.section .section__inner{
	width: auto;
}
#area_signin.section .section__inner {
	margin-bottom: 5em;
}

.section .section__inner h3{
	font-size: 1.6em;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
	margin-bottom: 0.85em;
}
.section__ttl {
	font-size: 2.429em;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
  margin-bottom: 0.85em;
  animation: section__ttlAnime 1s ease 1.5s forwards;
  animation-duration: 2s;
  opacity: 0;
}

.nofade .section__ttl {
	font-size: 2.429em;
    text-align: center;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
    margin-bottom: 0.85em;
    animation: unset;
    opacity: 1;
}
#mypage .nofade .section__ttl {
	margin-bottom: 0.3em;
}





.section .section__inner .message-box {
	max-width: 500px;
	margin: 0 auto;
}

.section .section__inner .section__box{
	max-width: 500px;
	margin: 0 auto;
}
.section .section__inner .section__box .in{

}
.section .section__inner .section__box .t1{
	padding: 10px 10px;
	font-weight: bold;
}
.section .section__inner .section__box .t2{
	padding: 10px;
	display: block;
	width: auto;
	margin: 0 auto;
}

	.members .section .section__inner .section__box .t2 {
	    margin: 0 auto;
	    padding: 0.5em 1em;
	}

.section__link {
  margin-top: 40px;
  text-align: center;
}
.section__link .btn {
  display: inline-block;
  margin: 0;
  width: 100%;
  width: 15.6em;
  max-width: 280px;
  color: #fff;
  background: #333;
  border: #333 2px solid;
  text-decoration: none;
  line-height: 60px;
  text-align: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
  font-size: 18px;
  font-family: "Marcellus", serif;
  letter-spacing: 0.2em;
  transition: all 0.3s ease;
}
.link__inner .section__link .btn {
	width: 19.6em;
	max-width: 310px;
}

.section__link .btn:hover {
  color: #333;
}
.section__link .btn::before {
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  font-size: 1.1em;
  font-family: "Material Icons";
  content: "\e5e1";
  z-index: 1;
  transition: all 0.5s ease;
}
.section__link .btn::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  display: block;
  background: #fff;
  content: "";
  z-index: -1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .5s ease;
}
.section__link .btn:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.section__right_links {
  text-align: right;
}
.section__right_links a {
  text-decoration: underline;
}




/* スライダーのためのcss */
/* 横幅94%で左右に余白を持たせて中央寄せ */
.slider {
  width: 100%;
  margin: 0 auto;
  /* slickのJSで書かれるタグ内、スライド左右の余白調整 */
}
.slider img {
  width: 100%;
  height: auto;
}
.slider .txtArea {
  margin-top: 0.5em;
}
.slider .txtArea__day {
  color: #888;
}
.slider .txtArea__title {
  margin-top: 0.5em;
  line-height: 1.7;
}
.slider .slick-slide {
  margin: 0 1.4rem;
}

/* 矢印の設定 */
.slick-prev, .slick-next {
  position: absolute;
  /*絶対配置にする*/
  top: 23%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
  width: 30px;
  background-color: #fff;
}
.slick-prev::before, .slick-next::before {
  position: absolute;
  font-family: "Material Icons";
  content: "\e5e1";
  font-size: 1.4em;
  z-index: 1;
  padding: 0.5em;
  top: 27%;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0 0 8px 0px #bfbfbf;
  color: #888;
}

.slick-prev {
  left: 0.1em;
}
.slick-prev::before {
  content: "\e5e0";
  padding: 0.5em 0.3em 0.5em 0.7em;
}

.slick-next {
  right: 0.8em;
}

/* ページトップリンクの形状 */
#page-top {
  position: fixed;
    right: 1.5em;
    bottom: 1em;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(150px);
}
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 50px;
  border: 2px solid #333;
  width: 60px;
  height: 60px;
  color: #333;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 2em;
  transition: all 0.3s;
}
#page-top a::before {
  content: "\e5e1";
  font-family: "Material Icons";
  z-index: 1;
  transform: rotate(270deg);
}
#page-top a:hover {
  background: #333;
  color: #fff;
}

#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(150px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(150px);
  }
}
/* 画面外にいる状態 */
.fadein {
  opacity: 0.1;
  transform: translate(0, 60px);
  transition: all 700ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}


@keyframes TopToBottom {
  0% {
    opacity: 0;/* 透明 */
    transform: translateY(-20px);/* X軸方向に50px */
  }
  100% {
    opacity: 1;/* 不透明 */
    transform: translateY(0);
  }
}


/* ------ メイン ------ */
.fv {
  background-color: #fff;
  height: 80vh;
  margin-bottom: 5px;
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
  min-height: 600px;
}
.fv div {
  margin-top: 100px;
  max-width: 483px;
  position: absolute;
  width: 80vw;
}
.fv div img {
/*
  animation: fadeInInit 4s ease 0.3s 1 normal;
  -webkit-animation: fadeInInit 4s ease 0.3s 1 normal;
*/
  opacity: 0;/* ここを追加 */
  animation-duration: 2s;/* アニメーション時間 */
  animation-delay : 1s;/* 変化開始の時間 */
  animation-name: TopToBottom;/* アニメーション名 */
  animation-iteration-count: 1;/* アニメーションの繰り返し（無限）*/
  animation-fill-mode: forwards; /*これで値を保持*/

}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fv .mb_logo_ttl {
  margin-top: 0;
  top: 55.8%;
  max-width: 434px;
  width: 72vw;
}
.fv .mb_logo_ttl img {
/*
  animation: fadeInInit 4s ease 0.3s 1 normal;
  -webkit-animation: fadeInInit 4s ease 0.3s 1 normal;
*/
  opacity: 0;/* ここを追加 */
  animation-duration: 2s;/* アニメーション時間 */
  animation-delay : 1s;/* 変化開始の時間 */
  animation-name: TopToBottom;/* アニメーション名 */
  animation-iteration-count: 1;/* アニメーションの繰り返し（無限）*/
  animation-fill-mode: forwards; /*これで値を保持*/
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* Contact */
#contact {
  border-top: 4px solid #f8f8f8;
  border-bottom: 4px solid #f8f8f8;
  padding: 3em 5% 3.4em;
  max-width: 100%;
  margin-bottom: 1em;
}
#contact::before, #contact::after {
  border-bottom: none;
}
#contact .section__ttl {
  margin-bottom: 0.4em;
}
#contact .section__inner p {
  text-align: center;
}
#contact .section__inner .box {
  margin-top: 2em;
}
#contact .contact__inner {
  display: flex;
  align-items: center;
  justify-content: space-around;
  max-width: 660px;
  margin: 2em auto 0;
}
#contact .contact__inner .tel {
  font-family: "Marcellus", serif;
  font-size: 3em;
  margin-right: 8px;
}
#contact .contact__inner .tel span {
  font-size: 1.7rem;
}
#contact .contact__inner .time {
  text-align: right;
}
#contact .contact__inner .section__link {
  margin-top: 8px;
}

/* ------ フッター ------ */
.footer {
  background-color: #fff;
  padding: 2% 2em 3% 2em;
}
.footer .header__inner {
  display: block;
}
.footer .header__inner .header__ttl {
	text-align: center;
	margin: 0 auto;
}
.footer .address {
  line-height: 2;
  margin-top: 5px;
}
.footer .nav__lists {
  align-items: flex-start;
  align-items: center;
}
	.footer .footer_nav .nav__lists {
		justify-content: center;
		flex-wrap: wrap;
	}
	.footer .footer_nav .nav__lists .menu__list {
		font-size: 1em;
		margin: 0 0.5em;
	}
	.footer .footer_nav .nav__lists .menu__list a {
		font-size: 1em;
	}

.footer .nav__lists .nav__list:last-child {
  margin-right: 0;
}
.footer .nav__lists li a {
  line-height: 40px;
}
.footer .nav__lists li a::before {
  bottom: 7px;
}
.footer .icon_btn__lists {
  justify-content: center;
}

.copyright {
  text-align: center;
  margin-top: 1em;
}




.fv div {
    max-width: 600px;
    max-width: 960px;
}

.header__ttl a {
	display: inline-block;
	max-width: 280px;
	font-weight: bold;
}


.sp_view_1050 {
	display: none;
}
.sp_flex_1050 {
	display: none;
}




main.main-contact  {
	display: flex;
	flex-direction: column;
	margin-top: 6.75rem;
	gap: 6.75rem;
}
main.main-contact section {
	padding: 0 min(8vw, 8rem);
	width: 100%;
}
main.main-contact .inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0;
	padding: 0 min(4vw, 4rem);
	width: 100%;
	border-radius: 0;
	background: transparent;
}



.page {
	line-height: 1.6;
	width: calc(100% - 280px);
	width: 100%;
}
.page .page_header{

}
.page .page_header h2{
	font-size: 2.5em;
	/* grid-column: 2 / span 10; */
	letter-spacing: -.5px;
	line-height: 1.2;
	margin-bottom: 0.5em;
	position: relative;
}
.page .page_content{
	line-height: 1.8;
	padding:1em;
}
.page .page_content h3{
	font-size: 1.5em;
	width: calc(100% - 1em);
	margin: 2em 0 1em 0;
	/* padding-top: 0.2em; */
	padding: 0.3em 0.5em;
	border-bottom: 1px solid #ddd;
	line-height: 1.4;
	background-color: #c2e7ff;
}
	.page #mysites_content .page_content h3 {
		background-color: transparent;
	}

.page .page_content .page_content_body{
	margin: 0 0.8em;
}
.page .page_content .page_content_body .page_content_body_lead{
	padding:0.5em 1em;
	background-color: #eee;
	line-height: 1.7;
	font-size: 16px;
}
.page .page_content .page_content_body .page_content_body_description{
	margin: 1em auto;
	padding: 0.5em;
}
.page .page_content .page_content_body .page_content_body_description a{
	text-decoration: underline;
}

.page .page_content .page_content_body .page_content_body_description img{
	display:inline-block;
	max-width:400px;
	margin:1em auto;
	padding:0.5em;
	border:1px solid #666;
}
.page .page_content .page_content_body .boxarea{
	margin: 2em auto;
	min-height: 2000px;
}

.page .page_content .page_content_body .page_content_body_form{
	border: 1px solid #666;
	margin: 1em auto;
	padding: 1em 1em 0 1em;
	background-color: #eee;
}
.page .page_content .page_content_body .page_content_body_form h2{
	font-size: 1.2em;
	font-weight: bold;
	background-color: transparent;
	border-bottom: none;
}


.page .page_content .page_content_body ul{
	margin: 1em 0;
	list-style-type: disc;
	/* margin-block-start: 1em; */
	margin-inline-start: 2em;
	padding-inline-start: 0;
	text-indent: 0;
}
.page .page_content .page_content_body ul li{
	margin-bottom: 0.5em;
}
.page .page_content .page_content_body span.great{
	background-color: #FFC107;
}
.page .page_content .page_content_nav {
	margin: 1em 0 0.5em 0;
	padding: 1em 1.5em;
	border: 2px solid #2196f3;
	width: auto;
}
.page .page_content .page_content_nav .content_nav_title {
	display: block;
	margin: 0;
	font-size: 1.5em;
}
.page .page_content .page_content_nav ul {
	list-style-type: decimal;
	line-height: 1.5;
}
.page .page_content .page_content_nav ul li {
	font-size: 1.5em;
}
.page .page_content .page_content_body ul.def_ul {
	list-style-type: none;
	margin-inline-start: 0;
	margin: 1em;
}
.page .page_content .page_content_body ul.def_ul li {
	margin: 0 0 0.2em;
}
.page .page_content .page_content_body ul.def_ul li dl {
	display: flex

}
.page .page_content .page_content_body ul.def_ul li dl dt, .page .page_content .page_content_body ul.def_ul li dl dd {

}
.page .page_content .page_content_body ul.def_ul li dl dt {
    width: auto;
    min-width: 130px;
}
.page .page_content .page_content_body ul.def_ul li dl dd {
	width: calc(100% - 130px - 40px);
}
.page .page_content .page_content_body ul.def_ul li input[type=text] {
	margin: 3px 2px;
	padding: 3px 1px;
	border: 1px solid #ccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background-color: #fff;
	color: #535A62;
	/* padding: 0.2em; */
	font-size: 1.2em;
	color: #666;
	padding: 8px 8px;
}
.page .page_content .page_content_body ul.def_ul li input[type=radio] {
	width: 16px;
	height: 16px;
	margin-right: 0.3em;
}
.page .page_content .page_content_body ul.def_ul li input[type=radio]:checked + label {
	font-weight: bold;
}
.page .page_content .page_content_body ul.def_ul li select {
	margin: 3px 2px;
	padding: 3px 1px;
	border: 1px solid #ccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background-color: #fff;
	color: #535A62;
	font-size: 1.2em !important;
	padding: 8px 5px;
	height: auto;
}




.page .page_content form dl dt {
	white-space:nowrap;
}

.page .page_content .page_content_body .content_block {
	margin-bottom: 2em;
}
.page .page_content .page_content_body .content_block h3 {
	margin: 2em 0 0.5em;
}
.page .page_content .page_content_body .content_block a {
	text-decoration: underline;
}
.page .page_content .page_content_body .content_block .content_block_content {
	padding: 0 1em;
	margin: 0 0 1em 0;
}
.page .page_content .page_content_body .content_block .content_block_content ol {
	padding-inline-start: 40px;
	list-style-type: disc;
}
.page .page_content .page_content_body .content_block .content_block_content ol.decimal {
	list-style-type: decimal;
}
.page .page_content .page_content_body .content_block .content_block_content ol.circle {
	list-style-type: circle;
}
.page .page_content .page_content_body .content_block .content_block_content ol.olbox {
	border: 1px solid #666;
	margin: 0.5em;
	padding-top: 0.5em;
	padding-bottom: 0.8em;
	background-color: #eee;	
}

.blogimg  {
	border: 1px solid #ddd;
	margin: 0.5em;
	margin-bottom: 1em;
}


.page .submit {
	margin:4em auto;
	text-align:center;
	margin-bottom: 2em;
}

.page .incviewarea .incviewarea_box {
	margin-bottom: 1em;
}
.page .incviewarea .incviewarea_box .incviewarea_box_title {
	font-weight: bold;
}
.page .incviewarea .incviewarea_box .incviewarea_box_body {
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul {
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li {
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li label {
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li dl {
	display: block;
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li dl dt, .page .incviewarea .incviewarea_box .incviewarea_box_body ul li dl dd {
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li dl dt {
	display: inline-block;
	position: relative;
	width: 16px;
	height: 16px;
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li dl dt input[type=checkbox] {
	width: 16px;
	height: 16px;
	display: block;
	position: absolute;
	top: 0.2em;
}
.page .incviewarea .incviewarea_box .incviewarea_box_body ul li dl dd {
	display: inline-block;
	padding: 0 0 0.2em 0.3em;
}
.page .incviewarea .incviewarea_box .incviewarea_box_ex {
}
.page .incviewarea .incviewarea_box .incviewarea_box_ex label {
}
.page .incviewarea .incviewarea_box .incviewarea_box_ex input[type=checkbox] {
	display: none;
}


.page .page_content_footer {
	margin: 3em 2em;
}
.page .page_content_footer h3 {
	border-left: 10px solid #2196f3;
	border-bottom: 2px solid #2196f3;
	padding-left: 0.5em;
	font-size: 2em;
	margin-left: 0;
	margin-bottom: 0.5em;
	line-height: 1.2;
	/* padding-bottom: 0.2em; */
	background-color: #fff;
	width: auto;
}
.page .page_content_footer .page_content_footer_lead {
	font-size: 1.5em;
	margin-bottom: 1em;
	line-height: 1.3;
}
.page .page_content_footer .page_content_footer_body {

}
.page .page_content_footer .page_content_footer_body ul {

}
.page .page_content_footer .page_content_footer_body ul li {

}
.page .page_content_footer .page_content_footer_body ul li .attewords_title {
	font-size: 1.3em;
}
.page .page_content_footer .page_content_footer_body ul li .attewords_title div {
/*
	border-bottom: 1px solid #000;
	padding-bottom: 0.1em;
	margin-bottom: 0.3em;
*/
}
.page .page_content_footer .page_content_footer_body ul li dl{
	margin-bottom: 2em;
}
.page .page_content_footer .page_content_footer_body ul li dl dt, .page .page_content_footer .page_content_footer_body ul li dl dd{

}
.page .page_content_footer .page_content_footer_body ul li dl dd a{
	text-decoration:underline;
}

.page .page_content_footer .page_content_footer_body ul li dl dt{

}
.page .page_content_footer .page_content_footer_body ul li dl dt.attewords_lead{
	line-height: 1.5;
	padding-left: 1.2em;
}
.page .page_content_footer .page_content_footer_body ul li dl dd{
	margin: 1.0em 0 0 0.5em;
}
.page .page_content_footer .page_content_footer_body ul li dl dd span{

}
.page .page_content_footer .page_content_footer_body .attewords_subtitle {
	font-size: 1.3em;
	margin-top: 0.2em;
}
.page .page_content_footer .page_content_footer_body .attewords_subtitle div {
/*
	border-bottom: 1px solid #000;
	padding-bottom: 0.1em;
	margin-bottom: 0.3em;
*/
}
.page .page_content_footer .page_content_footer_body .attewords_sublead {
	line-height: 1.5;
	margin-bottom: 0.4em;
	padding-left: 1.2em;
}



.page .incviewarea_title {
	padding: 0.3em 0.5em 0.2em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
;
}
.page .incviewarea_title .submit {
	margin:0 auto;
}


.page .incviewarea {
	display: block;
	padding: 1em;
	border: 1px solid #666;
	margin: 0.8em;
	margin-bottom: 3em;
	border-radius: 10px;
}


.page .incviewarea .area_table {
	display: block;
}
.page .incviewarea .area_table table {
	width:100%;
}
.page .incviewarea .area_table table th, .page .incviewarea .area_table table td {
	padding: 0 0.3em;
	line-height: 1.4;
	padding-bottom: 0.5em;
}
.page .incviewarea .area_table table th {
	white-space: nowrap;
	text-align:left;
	vertical-align:top;
	font-weight: bold;
	width: 150px;
}
.page .incviewarea .area_table table td {
	width: calc(100% - 150px - 1.2em);
}
.page .incviewarea .area_table {
	display: block;
}
.page .incviewarea .area_table tr {

}
.page .incviewarea .area_table th, .page .incviewarea .area_table td {

}
.page .incviewarea .area_table th {

}
.page .incviewarea .area_table td {

}
.page .incviewarea .area_table td .td_inner {

}
.page .incviewarea .area_table td .td_inner ul {

}
.page .incviewarea .area_table td .td_inner ul li {

}
.page .incviewarea .area_table td .td_inner ul li dl {

}
.page .incviewarea .area_table td .td_inner ul li dl dt {
	white-space:nowrap;
}
.page .incviewarea .area_table td .td_inner ul li dl dd {
	white-space:nowrap;
}


.valstr {
	font-style: italic;
	position: relative;
	padding: 0.5em;
	border: 1px solid #666;
	background-color: #000;
	color: #fff;
	display: block;
	width: calc(100% - 1em);
	line-height: 1.2;
}
.tagstr {

}
.parsestr {
	margin: 0 0 0.5em 1em;
}

.icon_progress {
	text-align:center;
}
.icon_progress img {
	max-width:32px;
}


.boxarea .grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.boxarea .grid .item {
	position: relative;
	border-radius: 10px;
	background: #edf;
	padding: 15px;
	text-align: center;
/*	max-width: 50%; */
	line-height: 1.4;
	padding-bottom: 38px;
}
.boxarea .grid .item a {
	display: block;
}
.boxarea .grid .item img {
	max-width: 100%;
	height: auto;
}
.boxarea .grid .item p {
	text-align: left;
}
.boxarea .grid .item .item_title {
	font-size: 1.2em;
	font-weight: bold;
	margin:0.5em auto;
	text-align: left;
}
.boxarea .grid .item .item_atte {
	text-align: left;
	margin-top:0.5em;
	line-height: 1.5;
}


.rightarea {
	width: auto;
	max-width: 320px;
}
.rightarea .main_right {
	width: auto;
	position: relative;
	height: 100%;
}


.area_clock {
	font-size: 1.5em;
	margin: 0px;
	text-align: right;
}
.area_clock .item_clock {
	display:inline-block;
}
#date_clock {

}
#dayweek_clock {

}
#time_clock {

}
.dayweek {

}

.area_memo {
	width: calc(100% - 2em);
	margin: 0.5em 0 1em 2em;
}
.area_memo textarea {
	width: 259px;
	max-width: calc(100% - 1.5em);
	min-width: calc(100% - 1.5em);
	padding: 0.5em;
	background: rgb(255, 255, 255);
	color: #666;
	overflow-y: auto;
	box-shadow: rgba(0, 0, 0, 0.3) -2px 0px 8px;
	font-family: "Segoe UI", sans-serif;
	height: 275px;
}



.browser-sidebar {
	width: calc(320px - 4em);
	/* position: fixed; */
	/* right: 0; */
	/* top: 0; */
/*	height: 100vh; */
	padding: 1em;
	background: #1e1e1e;
	color: #fff;
	overflow-y: auto;
	box-shadow: -2px 0 8px rgba(0, 0, 0, 0.3);
	font-family: 'Segoe UI', sans-serif;
}

.browser-sidebar h2 {
	font-size: 1.1em;
	margin-bottom: 0.8em;
	border-bottom: 1px solid #444;
	padding-bottom: 0.5em;
	margin-top: 0;
	font-weight: bold;
}

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

.browser-list li {
	display: flex;
	justify-content: space-between;
	padding: 0.4em 0;
	border-bottom: 1px dashed #333;
	font-size: 0.95em;
}

.browser-list span {
	font-weight: bold;
	color: #9fe3ff;
}
.browser-list li a {
	color: #fff;
}



#area_nowip {

}
#area_nowip .nowip {

}
#area_nowip .nowip h2 {
	font-size: 1.2em;
	margin-bottom: 0;
	border-bottom: 1px solid #444;
	padding-bottom: 0.5em;
	margin-top: 0;
}
#area_nowip .nowip .viewbox {
	text-align: center;
	font-size: 2em;
}

.area_rightbox {
	width: calc(100% - 2em);
	margin: 0.5em 0 1em 2em;
}

.area_calendar {
	width: calc(100% - 2em);
	margin: 0.5em 0 1em 2em;
}
/* カレンダー全体の背景色 */
.fc {
	background-color: #fff;
}
/* カレンダー上部に表示する前月と翌月のボタン */
.fc .fc-button-primary {
	background-color: #fff;
	border: 1px solid #d8d8d8;
	color: #000;
}
.fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 1em;
}
.fc .fc-daygrid-body-natural .fc-daygrid-day-events {
	margin-bottom: 0;
	min-height: 1em;
}
/* 当月以外の日（月カレンダーに一緒に表示される前後の月）*/
.fc-day-other .fc-daygrid-day-frame {
    background-color: #fff;
}
.fc-day-sat .fc-daygrid-day-frame {
    background-color: #d3e3fd;
}
.fc-day-sun .fc-daygrid-day-frame, .is_holiday {
    background-color: #fdcdca;
}
.is_holiday .fc-daygrid-event {
    border: none;
}
.is_holiday .fc-event {
    background-color: transparent;
}
.is_holiday .fc-event .fc-event-title fc-sticky {
	font-size: 10px;
}
.fc-day-disabled .fc-daygrid-day-frame {
	background-color: #f1f1f1;
}
.fc-day-today .fc-daygrid-day-frame {
	background-color: #ceeaaf;
}

.area_weather {
	text-align: right;
}
.coordinates {
	margin: 0 0.5em;
}
.weather-container {
	display: flex;
	justify-content: flex-end;
}
.weather-container .weather-card {
	display: flex;
	margin: 0.2em 0.5em;
}
.area_links {
	width: calc(100% - 2em);
	margin: 2em 0 1em 2em;
}


.area_profile {
	width: calc(100% - 2em);
	margin: 4em 0 4em 2em;
	position:absolute;
	bottom:0;
}
.area_profile h3 {
	border-left: 10px solid #5ab4bd;
	padding: 0.2em 0 0.5em 0.5em;
}
.area_profile .area_profile_body {
	    padding: 0.5em;
}
.area_profile .area_profile_body_image {
	width: 100px;
	min-width: 100px;
}
.area_profile .area_profile_body_image img {
	max-width: 100px;
	width: 100%;
}
.area_profile .area_profile_body_main {
	padding-left: 2em;
}
.area_profile .area_profile_body_main h4 {
	margin-bottom: 0.3em;
	margin-top: 0.5em;
}
.area_profile .area_profile_body_main .area_profile_profile_ex {

}
.area_profile .area_profile_body_main .area_profile_profile_name {
	margin-bottom: 1em;
}
.area_profile .area_profile_body_main .area_profile_profile {

}




.section__sns_links {
	margin-bottom:0.5em;

}
.section__sns_links div {

}
.section__sns_links div a  {
	float: right !important;
}

.section__pagenavi.div_flex {
	display:flex;
	justify-content: space-between;
}
.section__pagenavi_right {
	padding-right: 1em;
}
.section__pagenavi_right .box_button {
	padding: 0.05em 0.3em;
	border: 1px solid #666;
	border-radius: 0.5em;
	font-weight: bold;
	color: #1574aa;
	cursor: pointer;
	background-color: #eee;
	width: auto;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}


.page .page_content .page_content_body .page_content_body_lead.box_parents, .box_parents {
	position: relative;
	background-color: transparent;
}
.box_body {
	display: none;
}
page_content_body_lead_body.box_body, .box_body {
	text-indent: 3em;
}

.boxarea .grid .item .item_atte.box_body {
	text-indent: 4em;
	padding-top: 0.3em;
}

.box_parents .box_button {
	position: absolute;
	top: 0.2em;
	left: 0.2em;
	padding: 0.05em 0.3em;
	border: 1px solid #666;
	border-radius: 0.5em;
	font-weight: bold;
	color: #1574aa;
	cursor: pointer;
	background-color: #eee;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}
.icon_uonly, .icon_upreonly {
	display: inline-block;
	background-color: #c5def3;
	border: 1px solid #74b7ec;
	color: #048af4;
	font-weight: bold;
	padding: 3px 6px;
	/* font-size: 0.8em; */
}
.icon_upreonly {
	background-color: #b4dd9e;
	border: 1px solid #51bb90;
	color: #297e81;
}

.item .icon_uonly, .item .icon_upreonly {
	position: absolute;
	bottom: 5px;
	right: 5px;
}
.page .page_header h2 .icon_uonly, .page .page_header h2 .icon_upreonly {
	position: absolute;
	bottom: 5px;
	right: 5px;
	font-size: 16px;
}



/* tools */

.page .page_content .page_content_body ul.def_ul li .options_item {
	margin-top:1em;
}
.page .page_content .page_content_body ul.def_ul li .options_item dl {
	display:block;
}





section#c-form {
	width: calc(100% - 2em);
	margin: 0 auto;
	padding-top: 0;
}

#c-form .row-table-01 {
	width: calc(100% - 4em);
	border-collapse: collapse;
	margin: 0 auto;
}
#c-form .row-table-01 .col-head {
	position: relative;
	padding: 1.5rem 1rem;
	min-width: 200px;
	text-align: left;
	vertical-align: top;
}
#c-form .row-table-01 .col-head label {
	display: flex;
	align-items: center;
  padding: 1rem;
  height: 1rem;
	font-weight: 700;
}
#c-form .row-table-01 .col-head .required {
    position: absolute;
    top: 2rem;
    right: 1rem;
    display: flex
;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 2rem;
    border-radius: 100vh;
    /* background: #000; */
    font-size: 1em;
    font-weight: 700;
    color: red;
    line-height: 1;
}
#c-form .row-table-01 .tr_error input,
#c-form .row-table-01 .tr_error textarea {
	outline: 2px solid #F00;
}
#c-form .row-table-01 .col-input {
	display: flex;
	flex-wrap: wrap;
  align-items: flex-start;
	gap: 1rem;
	padding: 1.5rem 1rem;
	padding-left: 1.5rem;
  min-height: 3rem;
}
#c-form .row-table-01 .col-input input {
	padding: 1rem;
	width: 100%;
  height: 3rem;
	border: none;
	border-radius: .2rem;
	background: #EEE;
	line-height: 1;
  box-sizing: border-box;
}
#c-form .row-table-01 .col-input > span {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	line-height: 1.2;
}
#c-form .row-table-01 .col-input > span#FieldMessageUtype {
  line-height: 3rem;
}
#c-form .row-table-01 .col-input label {
	position: relative;
	display: inline-block;
	padding: 0 2rem;
	cursor: pointer;
}
#c-form .row-table-01 .col-input label::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	border: 1px solid #999;
}
#c-form .row-table-01 .col-input label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(.25rem + 1px);
	transform: translateY(-50%);
	display: block;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #000;
	opacity: 0;
}
#c-form .row-table-01 .col-input .mail-after-attachment {
	width: 100%;
}
#c-form .row-table-01 .col-input .mail-attention {
	width: 100%;
}
#c-form .row-table-01 .col-input .error-message {
	padding: .5rem 0;
	width: 100%;
	font-size: .8rem;
	color: red;
	background-color: #fff;
	line-height: 1.2;
}
#c-form .row-table-01 .col-input input[type=radio] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
#c-form .row-table-01 .col-input input[type=radio]:checked + label::after {
	opacity: 1;
}
#c-form .row-table-01 .col-input textarea {
	padding: 1rem;
	width: 100%;
	height: 8rem;
	border: none;
	border-radius: .2rem;
	background: #EEE;
	line-height: 1.4;
	resize: vertical;
}
#c-form .submit {
	display: flex;
	justify-content: center;
	gap: 2rem;
	padding: 2rem 0 1rem;
}
/*
#c-form .submit {
	display: flex;
	justify-content: center;
	gap: 2rem;
	padding: 2rem 0 1rem;
}
#c-form .submit .form-submit {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	height: 50px;
	border-radius: 100vh;
	border: none;
	background: #000;
	font-size: 1.2rem;
	color: #FFF;
	cursor: pointer;
	transition: .2s;
}
#c-form .submit .form-submit:hover {
	background: #ddd;
}
#c-form .submit input[name="resetdata"] {
  display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	height: 50px;
  border: 1px solid #888;
	border-radius: 100vh;
	font-size: 1.2rem;
	cursor: pointer;
	transition: .2s;
}
*/

#c-form .alert-message {
	color: #F00;
	text-align: center;
	line-height: 1.2;
}


#c-form .row-table-01 .col-input > span#FieldMessageTel1, 
#c-form .row-table-01 .col-input > span#FieldMessageTel2, 
#c-form .row-table-01 .col-input > span#FieldMessageTel3,
#c-form .row-table-01 .col-input > span#FieldMessageZip1,
#c-form .row-table-01 .col-input > span#FieldMessageZip2 {
	position: relative;
	width: calc(calc(100% - 2rem ) / 3 );
}
#c-form .row-table-01 .col-input > span#FieldMessageTel2::before, 
#c-form .row-table-01 .col-input > span#FieldMessageTel3::before,
#c-form .row-table-01 .col-input > span#FieldMessageZip2::before {
	content: "－";
	position: absolute;
	top: 50%;
	left: -1rem;
	transform: translateY(-50%);
	font-weight: 400;
	color: #CCC;
}
#c-form .row-table-01 .col-input #FieldMessageTel1 input,
#c-form .row-table-01 .col-input #FieldMessageTel2 input,
#c-form .row-table-01 .col-input #FieldMessageTel3 input,
#c-form .row-table-01 .col-input #FieldMessageZip1 input,
#c-form .row-table-01 .col-input #FieldMessageZip2 input {
	width: 100% !important;

}
#c-form .row-table-01 .col-input > span#FieldMessageAddress2::before {
	content: "建物名・部屋番号";
	display: block;
	padding: 0 .5rem .5rem;
}

#c-form.confirmation {
	margin-bottom: 5rem;
}
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageTel1, 
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageTel2, 
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageTel3,
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageZip1,
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageZip2 {
	padding: 0 1rem;
	width: auto;
}
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageTel1, 
#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input > span#FieldMessageZip1 {
	padding-left: 0;
}

#c-form .row-table-01 #RowMessageEstateTitle .col-head,
#c-form .row-table-01 #RowMessageEstateTitle .col-input,
#c-form .row-table-01 #RowMessageEstatePrice .col-head,
#c-form .row-table-01 #RowMessageEstatePrice .col-input {
  padding: 0 1rem;
}
#c-form .row-table-01 #RowMessageEstateTitle .col-input #FieldMessageEstateTitle,
#c-form .row-table-01 #RowMessageEstatePrice .col-input #FieldMessageEstatePrice {
  padding: 1rem 0;
  line-height: 1;
}

/*custom*/
:root {
  --red: #e73828;
  --red_hover: #ec6053;
  --yellow: #c9b052;
  --yellow_hover: #d4c075;
  --white: #FFF;
  --white_hover: #ffefee;

  --cp_org: #1abc9c;
  --cp_org_hover: #48c9b0;
}
.rst-pager {
	margin: 1rem 0 1rem;
}
.rst-condition + .rst-pager {
	margin: 2rem 0 2.5rem;
}
.bs-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	align-items: center;
	gap: 0.5rem;
}
.bs-pagination span {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 1.5rem;
	height: 1.5rem;
	font-family: 'Rubik', sans-serif;
}
.bs-pagination > span:not([class]) {
	display: inline-flex;
	width: auto;
	height: auto;
	gap: .5rem;
}
.bs-pagination a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
/*
	border-radius: 50%;
	border: 1px solid #000;
*/
	background: var(--white);
	font-family: 'Rubik', sans-serif;
	color: #666;
	transition: .2s;
}
.bs-pagination a:hover {
	background: var(--white_hover);
}
.bs-pagination span.current {
	border-radius: 50%;
	background: #000;
	color: #FFF
}
.bs-pagination span.current:hover {
/*	background: var(--red_hover); */
	background: #000;
}
.bs-pagination span.disabled {
/*
	border-radius: 50%;
	border: 1px solid #666;
*/
	color: #666;
	background-color: transparent !important;
}



/* -------------------- */
/* blog */
/* -------------------- */
.blog {

}
.blog .page.blog_index {

}
.blog .page.blog_index .page_content_body {

}
.blog .page.blog_index .page_content_body .post {
	margin-bottom:1.5em;
}
.blog .page.blog_index .page_content_body .post a {
	display: block;
	height: 100%;
}
.blog .page.blog_index .page_content_body .post .post_item {
	background-color: #c2e7ff;
	display:flex;
}
.blog .page.blog_index .page_content_body .eye-catch {
	max-width: 30%;
}
.blog .page.blog_index .page_content_body .eye-catch a {

}
.blog .page.blog_index .page_content_body .eye-catch a img {

}

.blog .page.blog_index .page_content_body .area_post_title {
	background-color: #c2e7ff;
	width:70%;
}
.blog .page.blog_index .page_content_body .post h3 {
	display:block;
	margin: 0;
	width: calc(100% - 1em);
}
.blog .page.blog_index .page_content_body .post .area_post_description {
	margin: 1em 0.8em 0.8em;
	padding: 0.3em;
	line-height: 1.4;
	background-color: #fff;
}
.blog .page.blog_index .page_content_body .post .more {

}
.blog .page.blog_index .page_content_body .post_footer{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.blog .page.blog_index .page_content_body .post_footer a{
	display: inline-block;
	height: auto;
}

.blog .page.blog_index .page_content_body .meta {
	text-align:right;
}



.blog.blog-single  .page_content_body .eye-catch {
	max-height: 400px;
	overflow: hidden;
}
.blog.blog-single  .page_content_body .post_body {
	margin: 1em 0 0 0;
}
.blog.blog-single  .page_content_body .post_body .post-detail {
	padding: 1em 0;
}
.blog.blog-single  .page_content_body .post_footer {
	margin: 1em 0 0 0;
}
.blog.blog-single  .page_content_body .post_footer .meta {
	text-align:right;
}


.multichecks_items_key {
	margin-left: 1em;
}
.multichecks_items_key_select {
	margin-left: 1em;
}
.multichecks_items_key_select {
	margin-left: 1em;
}
.multichecks_items_key_view {

}
.multichecks_items_key_view img {
	margin:0.2em;
}
.multichecks_items_key_view img.selectimg {
	border:3px solid #2196f3;
}
.multichecks_items_key_view {

}
.multichecks_items_key_view img.imgicon {
	width:auto;
}






.page-main .tabs {
	margin: 0 auto;
}
.page-main .tab_item {
	height: 50px;
	border-bottom: 3px solid #5ab4bd;
	background-color: #d9d9d9;
	line-height: 50px;
	font-size: 16px;
	text-align: center;
	color: #565656;
	display: block;
	float: left;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
	width: calc(100%/3);
}
.page-main .tab_item:hover {
	opacity: 0.75;
}
.page-main input[name="tab_item"] {
	display: none;
}
.page-main .tab_content {
	display: none;
	clear: both;
	overflow: hidden;
	min-height:2000px;
}
.page-main .tabs-nav {
}

/* ===== 修正されたタブコンテンツ表示セレクター ===== */
/* .tabs-nav内のinputから.tabs内のコンテンツを参照する正しい方法 */

/* geochannel */
.page-main .tabs-nav #geochannel:checked ~ ~ #geochannel_content,
.page-main .tabs #geochannel:checked ~ #geochannel_content {
	display: block;
}

/* seochannel */
.page-main .tabs-nav #seochannel:checked ~ ~ #seochannel_content,
.page-main .tabs #seochannel:checked ~ #seochannel_content {
	display: block;
}

/* mysites */
.page-main .tabs-nav #mysites:checked ~ ~ #mysites_content,
.page-main .tabs #mysites:checked ~ #mysites_content {
	display: block;
}

/* mywork */
.page-main .tabs-nav #mywork:checked ~ ~ #mywork_content,
.page-main .tabs #mywork:checked ~ #mywork_content {
	display: block;
}

/* より確実な方法: :has()セレクター（モダンブラウザ対応） */
.page-main .tabs:has(#geochannel:checked) #geochannel_content,
.page-main .tabs:has(#seochannel:checked) #seochannel_content,
.page-main .tabs:has(#mysites:checked) #mysites_content,
.page-main .tabs:has(#mywork:checked) #mywork_content {
	display: block;
}

/* アクティブタブのスタイル */
.page-main .tabs input:checked + .tab_item {
	background-color: #5ab4bd;
	color: #fff;
}


/* ツールチップ */
.tippy-box {
	background-color: #fff;
	border: 1px solid #000;
	width: 120px;
	text-align: center;
}
.tippy-content {
	color: #000;
}
.tippy-content a {
	color: #007bff;
}
.fc-daygrid-block-event .fc-event-time, .fc-daygrid-block-event .fc-event-title {
    font-size: 10px;
}

/* カレンダーに表示するイベント */
	.fc-event-title,
	.fc-event-time {
	color: #005f00;
}
.fc-event {
	background-color: #d4edda;
}

.grecaptcha-badge {
	z-index:9999;
	display: none !important;
}

#contact .grecaptcha-badge, #members .grecaptcha-badge, #tool .grecaptcha-badge {
	display: block !important;
}
#contact  #page-top, #members #page-top, #tool #page-top {
    right: 2em;
    bottom: 5em;
}
#tool.tool-index #page-top {
	right: 1.5em;
	bottom: 1em;
}


.page .page_header h2 {

}
.home .page .page_header h2 {

}

#area_research {
	display: inline-block;
	width: 120px;
	display: none;
}
#area_research .submit {
	margin: 0;
	display: inline-block;
	position: relative;
	width: 100%;
	height: 40px;
}
#area_research .submit .button {
	display: inline-block;
	margin-top: 0;
	padding: 6px 16px 6px 12px;
	background: #2196f3;
	color: #fff;
	font-weight: bold;
	border-radius: 5px;
	text-decoration: none;
	transition: background 0.2s;
	font-size: 16px;
	position: absolute;
	top: 8px;
	left: 0;
}









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


@media screen and (max-width: 980px) {
	main {
		display: block;
		padding-left: 0.8em;
		padding-right: 0.8em;
	}
	.page-main .tab_content {
		min-height:unset
	}
	.page .page_content .page_content_body .boxarea{
		min-height:unset
	}

	.rightarea {
	    margin: 2em auto;
	}
	.navi_right {
		display: none;
	}
	.area_calendar {
	    margin: 0 auto;
	}
	.area_links {
	    margin: 2em auto;
	}
	#c-form .row-table-01 #RowMessageEstateTitle .col-head,
	#c-form .row-table-01 #RowMessageEstatePrice .col-head {
	padding: 1.2rem .5rem;
	}
	.pc_none_1050 {
	display: none;
	}
	.sp_view_1050 {
	display: block;
	}
	.sp_flex_1050 {
	display: flex;
	}
	.footer .header__inner {
	display: block;
	}
	.footer .nav__lists {
	align-items: center;
	}

	.area_profile {
		margin: 2em auto;
		margin-top: 4em;
		position: relative;
	}

}


@media screen and (max-width: 899px) {
	.rst-pager {
		margin: 2rem 0 1rem;
	}
	.rst-condition + .rst-pager {
		margin: 1.5rem 0 2rem;
	}
	.bs-pagination {
		gap: .5rem;
	}
	.bs-pagination span {
		width: 2.5rem;
		height: 2.5rem;
	}
}
@media screen and (max-width: 800px) {
	#c-form.confirmation {
		margin-bottom: 3rem;
	}
	#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-head {
		padding: .5rem;
	}
	#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-head .required {
		top: 0;
	}
	#c-form.confirmation .row-table-01:not(:has(.tr_error)) .col-input {
		margin-bottom: 1rem;
		padding: .5rem 1.5rem;
	}

	#c-form .row-table-01 .col-head {
		padding: 1.2rem .5rem;
		width: 100%;
		border-bottom: 1px solid #CCC;
		box-sizing: border-box;
	}
	#c-form .row-table-01 .col-head .required {
		top: .8rem;
		right: .5rem;
	}

	#c-form .row-table-01 .col-input {
		margin-bottom: .5rem;
		padding: .5rem 0;
		width: 100%;
	}
	#c-form .row-table-01 .col-head label {
		padding: 0;
	}
	#c-form .row-table-01 .col-input label {
		width: calc(90% - 1px);
		padding-left: 2.5rem;
		padding-right: 0;
		line-height: 2.25rem;
	}
	#c-form .row-table-01 .col-input #FieldMessageUtype label {
		width: auto;
		flex: 1;
		line-height: 3rem;
	}
	#c-form .row-table-01 .col-input label::before {
		left: .5rem;
	}
	#c-form .row-table-01 .col-input label::after {
		left: calc(.75rem + 1px);
	}
	#c-form .row-table-01 .col-input .error-message {
		padding: .5rem;
	}

	#c-form .submit {
		flex-direction: column-reverse;
		align-items: center;
		gap: 2rem;
		padding: 1rem 0;
	}

	#c-form table {
		display: block;
		width: 100%;
	}
	#c-form table tbody {
		display: block;
		width: 100%;
	}
	#c-form table tr {
		display: block;
		width: 100%;
	}
	#c-form table th {
		display: block;
		width: 100%;
	}
	#c-form .box {
		padding: 1rem;
	}

	main.main-contact  {
		margin-top: 5.5rem;
		gap: 5.5rem;
	}
	main.main-contact section {
		padding: 0 1rem;
	}
	main.main-contact .inner {
		gap: 1rem;
		padding: 0;
	}
}

@media screen and (max-width: 767px) {
	h2 {
		line-height: 1.4;
	}

	.sp_none {
	display: none;
	}

	.tool .page .page_header h2, .blog .page .page_header h2, .seo_article .page .page_header h2
	, .privacy .page .page_header h2 , .terms .page .page_header h2
	 {
	    margin-top: 2.5em;
	}

	.header__ttl {
	font-size: 1.5em;
	margin-bottom: 3px;
	}

	.header .icon-btn {
	/*     width: 70px; */
	}

	.header .icon-btn a {
	/*    height: 70px; */
	}

	.header .icon-btn a::before {
	font-size: 28px;
	}

	.page .page_header h2 .icon_uonly, .page .page_header h2 .icon_upreonly {
	    bottom: -2.5em;
	}

	.menu-btn {
	/*    width: 70px; */
	}

	.menu-btn .menu-btn__parts {
	width: 24px;
	}

	.menu-btn .menu-btn__parts.-top {
	top: 1.42rem; 
	}

	.menu-btn .menu-btn__parts.-bottom {
	bottom: 1.4rem; 
	}

	.menu {
	width: 20em;
	}

	.menu__lists {
	margin-top: 5em;
	}

	.menu__lists .menu__list a {
	font-size: 1.6em;
	line-height: 45px;
	}

	.menu__lists .menu__list a::before {
	border-bottom: #333 1px solid;
	bottom: 7px;
	}

	section.section {
		padding: 10% 5% 10.5%;
	}
	.members section.section, .contact section.section {
		padding-top: 5em;
	}
	section#c-form {
		padding-top: 3em;
	}

	#page-top {
		right: 1em;
		bottom: -0.4em;
	}
	#contact  #page-top, #members #page-top, #tool #page-top {
	    right: 2em;
	    bottom: 5em;
	}
	#tool.tool-index #page-top {
		right: 1em;
		bottom: -0.4em;
	}

	#career .section__box__ttl {
	font-size: 1.35em;
	}

	#career .section__box ul li {
	font-size: 15px;
	margin: 0 20px 1.2rem;
	}

	#career .section__box ul .wakayama {
	margin: 0 12px 1.3rem;
	}

	#career .section__box .section__box__ul {
	display: block;
	display: inline-block;
	text-align: center;
	width:auto;
	}

	#career .section__box .section__box__ul .list__items ul li {
	margin: 0 8px 1.2rem;
	}

	#career .section__inner .section__box02 {
	max-width: 320px;
	}

	#company .section__box__ttl {
	font-size: 1.35em;
	}

	#company .section__box table {
		display: block;
		width: 100%;
	}
	#company .section__box table th, #company .section__box table td {
		display: block;
		width: 100%;
		line-height: 1.5;
		margin: 0;
	}
	#company .section__box table td {
		padding-left: 0.5em;
	}

	#member {
	padding: 10% 5% 10.5%;
	}

	#member .section__box {
	display: block;
	max-width: 460px;
	margin: 0 auto 5em;
	}

	#member .section__box .body_bg {
	width: 100%;
	top: 40em;
	left: 0;
	display: none;
	}

	#member .section__box img {
	margin: 0 auto;
	}

	#member .section__box .memberBox {
	margin: 1.5em auto 0;
	}

	#member .section__box .memberBox__name {
	margin: 0.5em 0 0.6em;
	}

	#member .section__box .memberBox p {
	background-color: #f8f8f8;
	padding: 15px 16px;
	}

	#member .section__box:last-child {
	margin: 0 auto;
	}


	.section__ttl, .nofade .section__ttl {
	font-size: 1.5rem;
	margin-top: 1em;
	}

	#members .section__ttl, #members .nofade .section__ttl {
		margin-top: 3em;
	}

	#contact {
	padding: 10% 5% 10.5%;
	}

	#contact .contact__inner {
	display: block;
	}

	#contact .contact__inner .tel {
	margin-right: 0;
	}

	#contact .contact__inner .time {
	text-align: center;
	}

	#contact .contact__inner .section__link {
	margin-top: 40px;
	}

	.footer .header__inner {
		display: block;
	}

	.footer .nav__lists {
		flex-wrap: wrap;
		display: block;
		height: auto;
		margin: 15px 0 0;
		max-width: 100px;
	}

	.footer .nav__lists li a {
		display: inline-block;
	}

	.footer .icon_btn__lists {
		margin-top: 2em;
	}

	.header__ttl a {
		line-height: 1.3;
	}

	.blog .page.blog_index .page_content_body .post .post_item {
		display:block;
	}

	.blog .page.blog_index .page_content_body .post {
	    margin-bottom: 2em;
	}
	.blog .page.blog_index .page_content_body .eye-catch {
	    display: inline-block;
	    float: left;
	    margin: 0 1em 0 0;
	}
	.blog .page.blog_index .page_content_body .area_post_title {
		width: 100%;
		min-height: 130px;
	}

	.area_profile {
		margin: 2em auto;
		margin-top: 4em;
		position: relative;
	}


}

@media screen and (max-width: 682px) {
	#c-form .row-table-01 {
	    width: 100%;
	}
	main {
		padding-left: 0.5em;
		padding-right: 0.5em;
		padding-top: 0px;
	}
	.header__ttl {
		margin-top: 0.4em;
		margin-left: 1.2em;
	}
	.header__ttl a img {
	    width: 24px;
	    position: unset;
	    margin: 0 4px 0 0;
	}
	.page .page_content {
	    padding: 0;
	}
	.page .page_header {
/*	    margin-top: 6em; */
	}
	.page .page_header h2 {
		font-size: 2.4em;
		margin-bottom: 1.5em;
		padding: 0 0.4em;

	}
	.section__pagenavi.div_flex {
		margin: 1em auto;
	}

	.blog .page.blog_index .page_content_body .post .area_post_description {
		display: none;
	}
	.page .page_content .page_content_body {
		margin: 0;
	}
	.page .page_content h3 {
		margin-bottom: 0.5em;
		padding: 0.5em 0.8em 1em;
		width: auto;
	}
	.page .page_content .page_content_body .page_content_body_lead {
		padding-right: 0.7em;
	}
	.page .incviewarea_title {
		display:block;
	}

	.page .page_content .page_content_body ul.def_ul li dl {
	    display: block;
	}
	.page .page_content .page_content_body ul.def_ul li dl dt {
	    width: calc(100% - 1em);
	    margin: 0 auto;
	}
	.page .page_content .page_content_body ul.def_ul li dl dd {
	    width: calc(100% - 1em);
	    margin: 0 auto;
	}
	.page .page_content .page_content_body ul.def_ul li .sampleview dl dt, .page .page_content .page_content_body ul.def_ul li .sampleview dl dd {
		max-width: calc(100% - 4em);
		display: block;
		margin: 0.5em auto;
	}
	.page .page_content .page_content_body ul.def_ul li .sampleview dl dt {

	}
	.page .page_content .page_content_body ul.def_ul li .sampleview dl dd {
		margin-bottom: 1em;
	}





	.page .page_content .page_content_body ul.def_ul li input[type=text] {
	    width: calc(100% - 0.5em) !important;
	}

	.section__pagenavi.div_flex {
	    display: blockl
	}
	.section__pagenavi a {
	    display: inline-block;
	}
	span.breadcrumbs__link {
		margin: 0.5em auto;
		display: inline-block;
		padding: 0 0.5em;

	}

	.incviewarea_title_main {
		text-align: center;
	}
	.rightarea {
		max-width: 360px;
		margin-top: 3em;
	}
	.area_clock {
		text-align: center;
	}
	.area_weather {
		text-align: center;
	}
	.weather-container {
		justify-content: center;
		margin: 0 auto;
	}
	.area_rightbox {
		margin-left: 1em;
	}
	.area_memo {
		width: auto;
		margin: 0.5em 0.8em 1em 1em;
	}
	.browser-sidebar {
		width: auto;
	}

	.footer .nav__lists {
		max-width: 100%;
	}
	.footer .nav__lists li a {
		line-height: 2;
	}


	#topmain.section {
		margin-top: 1em;
		padding: 0 3% 0;
		width: auto;
		padding-top: 5em;
	}



	/* .tabs-nav（タブボタン部分）のみスクロール可能に */
	.page-main .tabs-nav {
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		overscroll-behavior-x: contain;
		position: relative;
	}
	
	.page-main .tabs-nav::-webkit-scrollbar {
		display: none;
	}
	
	/* タブアイテムをインライン表示に */
	.page-main .tabs-nav .tab_item {
		display: inline-block;
		float: none;
		width: auto;
		min-width: 140px;
		padding: 0 15px;
		font-size: 14px;
		white-space: nowrap;
	}
	
	/* コンテンツ部分は通常通り */
	.page-main .tab_content {
		clear: none;
		white-space: normal;
	}
	
	/* グラデーションヒント */
	.page-main .tabs-nav::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 25px;
		height: 50px;
		background: linear-gradient(to left, 
			rgba(255,255,255,0.9) 0%, 
			rgba(255,255,255,0.6) 70%, 
			transparent 100%
		);
		pointer-events: none;
		z-index: 5;
	}
}

/* より小さなスマホ用の調整 */
@media (max-width: 480px) {
	.page-main .tab_item {
		min-width: 120px;
		padding: 0 12px;
		font-size: 13px;
	}
	
	.page-main .tabs-nav::after {
		width: 20px;
	}
}




@media screen and (max-width: 414px) {
	.sp_414_block {
	display: block;
	}
	.sp_view {
		display: block;
	}
	.pc_view {
		display:none;
	}

	.fv {
	min-height: unset;
	}

	.fv .mb_logo_ttl {
	top: 57.6%;
	}
}
