@charset "utf-8";

@media screen and (max-width: 768px) {
	html {
		font-size: calc(10vw / 750 * 100); /* 最大値768px、文字サイズ1remの場合 */
	}
	
	.sp_w50	{
		width: 19%;
	}
	
	.sp_w35p	{
		width: 35%;
	}
	ul.header01 > li > a:hover {
	  opacity: 1;
	  filter: none;
	  background-color: transparent !important;
	}
	
	.sp_center	{
		text-align: center !important;
	}
	.inner {
		width: 100%;
		padding: 0 5rem;
		max-width: 100%;
		margin: auto;
	}
	
	.inner .inner {
		padding: 0;  
	}
	
	/* ▼ 文字サイズ ▼ */
	body .fs8 {
		font-size: 1.6rem;
	}
	
	body .fs10,
	body .fs12 {
		font-size: 2rem;
	}
	
	body .fs13 {
		font-size: 2.6rem;
	}
	
	body .fs14,
	body .fs16 {
		font-size: 2.8rem;
	}
	
	body .fs18,
	body .fs20	{
		font-size: 3.2rem;
	}
	body .fs22,
	body .fs24 {
		font-size: 3.6rem;
	}
	
	body .fs25,
	body .fs28,
	body .fs30 {
		font-size: 4rem;
	}
	
	body .fs32 {
		font-size: 4.8rem;
	}
	
	body .fs40 {
		font-size: 6rem;
	}
	
	body .fs50 {
		font-size: 6rem;
	}


/* TOP */
	
	body.body_top#kashiwara .area01 .btn01	{
		zoom: 0.8;
		margin-left: 5rem;
	}
	
	#kashiwara ul.item01.fs16 > li > a	{
		font-size: 10px !important;
	}
	body.body_top#kashiwara ul.item01.fs16	{
		margin-left: 3rem;
		margin-right: 3rem;
	}
	
	body.body_top#kashiwara ul.item02 > li	{
		padding: 3rem 1rem 2rem;
	}

	#topix_contents ul.item02 li ol li:last-child	{
		font-size: 10px;
	}
	#topix_contents ul.item02 li p  span:not(.material-symbols-outlined)	{
		padding: 2rem 3rem;
	}
	
	#topix_contents ul.item02 li p  span.material-symbols-outlined	{
		zoom: 1.75;
	}
	
	body.body_top#kashiwara ul.item03	{
		flex-wrap: wrap;
	}
	
	body.body_top#kashiwara ul.item03 > li	{
		width: 50%;
	}
	body.body_top#kashiwara ul.item03 > li a	{
		padding: 3rem 0;
	}
	
	body.body_top#kashiwara .bnrs	{
		flex-direction: column;
		margin-left: 3rem;
		margin-right: 3rem;
	}
	
	#kashiwara #area01 ul.item04_list > li.left_box	{
		width: 100%;
	}
	
	#kashiwara #area01 ul.item04_list > li.left_box .box	{
		width: 100%;
	}
	
	#kashiwara #area01 ul.item04_list > li.left_box .box .btn02.mt10	{
		margin-top: 2rem !important;
	}
	
	body.body_top#kashiwara ul.item04_list02	{
		gap: 3rem;
	}
	body.body_top#kashiwara ul.item04_list02 > li > a .txt	{
		font-size: 2.8rem;
	}

	body.body_top#kashiwara .area02 .inner h3.flex	{
		flex-direction: column;
	}
	
	body.body_top#kashiwara .area02 .inner h3.flex i img	{
		width: 6rem !important;
	}
	body.body_top#kashiwara ul.item05,
	body.body_top#kashiwara ul.item06	{
		gap: 2rem;
		margin-left: 3rem;
		margin-right: 3rem;
	}
	body.body_top#kashiwara ul.item08,
	body.body_top#kashiwara ul.item09	{
		gap: 2rem;
	}
	body.body_top#kashiwara ul.item05 > li,
	body.body_top#kashiwara ul.item06 > li,
	body.body_top#kashiwara ul.item08 > li,
	body.body_top#kashiwara ul.item09 > li	{
		width: calc((99.99% - 2rem) / 2);
		text-align: center;
		font-size: 3rem;
	}
	
	body.body_top#kashiwara ul.item09 > li:last-of-type	{
		width: 100%;
	}
	body.body_top#kashiwara ul.item06 > li a p.fs16	{
		font-size: 2.5rem;
	}
	
	body.body_top#kashiwara ul.item05 > li > a.start	{
		justify-content: center;
	}
	body.body_top#kashiwara ul.item05 > li > a.start span.left	{
		text-align: center;
	}	
	body.body_top#kashiwara ul.item05 > li > a.radius5	{
		border-radius: 2rem;
	}
	
	#kashiwara ul.item07	{
		flex-wrap: wrap;
		margin-left: 3rem;
		margin-right: 3rem;
	}
	
	#kashiwara ul.item07 > li:first-of-type	{
		width: 55.5%;
	}
	
	#kashiwara ul.item07 > li:nth-of-type(2),
	#kashiwara ul.item07 > li:nth-of-type(3)	{
		width: 41.7%;
	}
	
	#kashiwara ul.item07 > li.relative	{
		width: 56.1%;
		display: flex;
		flex-direction: column;
	}
	
	#kashiwara ul.item07 > li.relative div	{
		overflow: hidden;
		display: block;
		width: 100%;
		height: 46%;
	}
	#kashiwara ul.item07 > li.relative div a	{
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
		border: 1px solid #665c52;
		border-radius: 0.5rem;
	}
	#kashiwara ul.item07 > li.relative a img	{
		position: absolute;
		width: 85%;
		bottom: -0.8rem;
		right: 0;
		max-width: none !important;
	}
	
	body.body_top#kashiwara ul.item08	{
		flex-wrap: wrap;
	}
	
	body.body_top#kashiwara ul.item08 > li a	{
		padding: 4rem 0;
		font-size: 2.8rem;
	}
	
	body.body_top#kashiwara ul.item09	{
		flex-wrap: wrap;
		margin-top: 2rem;
	}
	
	body.body_top#kashiwara ul.item09 > li a	{
		padding: 3rem 0;
		letter-spacing: -1px;
		font-size: 2.8rem;
	}
	body.body_top#kashiwara ul.item10	{
		gap: 2rem 5rem;
		overflow: hidden;
		padding-bottom: 4rem;
	}
	body.body_top#kashiwara ul.item10 li:first-of-type	{
		width: 100%;
		border-radius: 0;
		margin-bottom: 1rem;
	}
	
	/* body.body_top#kashiwara ul.item10 li:nth-last-child(-n+2)	{
		margin-bottom: 4rem;
	} */
	body.body_top#kashiwara ul.item10 li:not(:first-of-type)	{
		margin-left: 5rem;
	}
	
	body.body_top#kashiwara ul.item10 li:nth-child(2),
	body.body_top#kashiwara ul.item10 li:nth-child(3),
	body.body_top#kashiwara ul.item10 li:nth-child(4),
	body.body_top#kashiwara ul.item10 li:nth-child(5)	{
		width: 45%;
		margin-left: 0;
	}
	body.body_top#kashiwara ul.item10 li:nth-child(2),
	body.body_top#kashiwara ul.item10 li:nth-child(4)	{
		width: calc(35% - 5rem);
		margin-left: 5rem;
	}
	
	body.body_top#kashiwara ul.item10 li:first-of-type div.radius10	{
		border-radius: 0;
	}
	
	.f_item01	{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	ul.f_item02 .title,
	ul.f_item02 .txt,
	ul.f_item03 a,
	.f_item01 .txt	{
		zoom: 0.75;
	}
	
	ul.f_item02 > li .txt	{
		padding: 2rem 1rem;
	}
	ul.f_item02 > li ol.f_list	{
		gap: 3rem 2rem;
	}
	ul.f_item02 > li + li.item04	{
		margin-top: 2rem;
	}
/* SUBPAGE */

	.sv > .box .box_inner h2	{
		font-size: 5vw;
		align-items: center;
	}
	
	.sv:has(.bg)	{
		height: 40rem;
	}
	
	.sv .bg	{
		position: relative;
		height: 100%;
		overflow-x: hidden;
	}
	
	.sv .bg img	{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		max-width: none;
		width: auto;
		height: 100%;
	}
	
	.contents_box ul.list01	{
		flex-direction: column;
		margin-left: 3rem;
		margin-right: 3rem;
	}
	
	.contents_box ul.list01 li	{
		width: 100%;
		margin-bottom: 3rem;
	}
	
	ul.link_btn_box,
	ul.link_btn_box02	{
		flex-direction: column;
	}
	
	ul.link_btn_box	{
		margin-top: 0 !important;
	}
	
	ul.link_btn_box.mt40,
	ul.link_btn_box.mt50	{
		margin-top: 3rem !important;
	}
	ul.link_btn_box > li,
	ul.link_btn_box02 > li,
	ul.link_btn_box > li.w270	{
		width: 100% !important;
	}
	ul.link_btn_box > li.w270	{
		margin-top: 3rem;
	}
	.touin-top_02,
	.gai-top_02	{
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}
	
	table.default.sp_flex_column	{
		display: flex;
		flex-direction: column;
	}
	
	table.default.sp_flex_column tr,
	table.default.sp_flex_column th,
	table.default.sp_flex_column td	{
		width: 100%;
		display: block;
	}
	table.default.sp_flex_column td	{
		background-color: #fff !important;
	}
	table.default tr th, table.default tr td	{
		padding: 0.75em 1em;
	}
	
	.sub .inner > h5,
	.sub .inner > p:not(.indent02),
	.sub .inner > ul,
	.sub.body_topix .inner > ol,
	
	.sub .inner > table,
	.sub .inner > div.gmap,
	.sub .inner > div#form_area,
	.sub .inner > div.container.tabgroup,
	.sub .inner > div.ql-embed	{
		padding-left: 3rem;
		padding-right: 3rem;
	}
	.sub.body_sin-top .inner > table th,
	.sub.body_sin-top .inner > table td	{
		padding: 0.75em;
	}
	.sub.body_sin-kan-top .inner > table,
	.sub.body_tokutei-top .tokutei-top_02 .inner > table,
	.sub.body_sin-top .inner > table,
	.sub.body_topix .inner > div	{
		margin-left: 3rem;
		margin-right: 3rem;
		width: calc(100% - 6rem);
	}
	.sub.body_sin-top .inner > .scroll_table table	{
		margin-left: 0;
		margin-right: 0;
	}
	.sub.body_sin-kan-top .inner > table td	{
		padding: 0.75em;
	}
	
	.sub.body_sin-kan-top.body_sin-kan-rinen .inner > table tr td:first-child	{
		width: 40%;
	}
	
	.sub.body_sin-kan-top.body_sin-kan-tani .inner > table,
	.sub.body_sin-kan-top.body_sin-kan-tani .inner > table tr	{
		display: flex;
		flex-direction: column;
		padding-left: 0;
		padding-right: 0;
	}
	.sub.body_sin-kan-top.body_sin-kan-tani .inner > table tr th,
	.sub.body_sin-kan-top.body_sin-kan-tani .inner > table tr td	{
		width: 100%;
		display: block;
	}
	
	.sub.body_sin-kan-top.body_sin-kan-tani .inner > table tr th	{
		background-color: #F5F6F6 !important;
		text-align: center;
	}
	.sub.body_sin-kan-top.body_sin-kan-tani .inner > table tr td	{
		background-color: #fff !important;
	}
	.sub .inner > ul.pankuzu_list	{
		padding-left: 0;
		padding-right: 0;
		gap: 0.5em;
	}
	.sub .inner > ul.pankuzu_list li:not(:first-child)	{
		padding-left: 1em;
	}
	ul.pankuzu_list > li:not(:last-child):before	{
		right: -1.2em;
	}
	.sub .inner > ul:not(.link_btn_box):not(.link_btn_box02):not(.pankuzu_list) > li > *:not(.circle_list):not(.circle)	{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.sub .inner > div.circle_list	{
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
	.sub .inner > div.circle_list.gap15	{
		gap: 0;
	}
	.body_map .inner ul.link_btn_box	{
		margin-top: 3rem !important;
	}
	.body_map .inner div.gmap	{
		height: 60rem;
	}
	.body_map .inner div.gmap > *	{
		width: calc(100% - 6rem);
		left: 3rem;
		height: 60rem;
	}
	.sub .inner > .indent02,
	.sub .inner > .indent02	{
		margin-bottom: 3rem;
		padding-left: 8rem;
		padding-right: 3rem;
	}
	
	.body_map .inner h5.midashi03.start	{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	
	.body_map .inner h5.midashi03.start .txt	{
		margin-bottom: 3rem;
	}
	
	.border_area	{
		padding: 2rem 3rem;
	}
	
	.container .content > li > ol.content_area	{
		flex-direction: column;
	}
	
	.container .content > li > ol.content_area > li	{
		width: 100%;
		margin-bottom: 3rem;
	}
	
	.container .content > li > ol.content_area > li ul.link_btn_box	{
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-top: 3rem !important;
	}
	
	.container .tab > li, .container .tab02 > li	{
		padding: 0.5em;
		
	}
	
	.contact_table input, .contact_table optgroup, .contact_table select, .contact_table textarea, .contact_table .confirm_txt	{
		padding: 0.5em 0 1em;
	}
	
	ul.sitemap_list	{
		flex-direction: column;
	}
	
	ul.sitemap_list li	{
		width: 100%;
		padding-left: 3rem;
		padding-right: 3rem;
	}
	
	ul.link_img_btn_box li	{
		width: calc((99.99% - 2rem) / 2);
	}
	
	ul.link_img_btn_box > li a	{
		padding: 3.5rem 5rem;
	}
	
	ul.photos	{
		align-items: center;
		justify-content: center;
	}
	
	ul.tpbox	{
		flex-direction: column;
	}
	
	ul.tpbox > li	{
		width: 100%;
	}
	
	.tpbox_img img	{
		width: 100%;
	}
	ul.btn_group01,
	ul.tab03	{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	ul.btn_group01 > li,
	ul.tab03 > li	{
		width: calc((99.99% - 2rem) / 2);
	}
	
	ul.tab03 > li a	{
		padding: 1rem;
	}
	.body_gai-top table.default th.bg_skin	{
		width: 27.5%;
	}
	
	.body_sin-top .indent02	{
		text-indent: -2em;
	}
	
	.body_sin-top .indent02 .pink	{
		position: relative;
		left: 0.25em;
	}
	
	.sub .photos li,
	.sub .photos img	{
		width: 100%;
	}
	
	ul.procedure_list > li	{
		flex-direction: column;
		align-items: center;
		padding-bottom: 1rem;
		margin-bottom: 6rem;
	}
	
	ul.procedure_list > li > .circle	{
		width: 18rem;
		height: 18rem;
	}
	
	ul.procedure_list > li:not(:last-child):before	{
		left: 50%;
		transform: translate(-50%,100%);
	}
	
	ul.procedure_list > li .midashi03	{
		text-align: center;
	}
	
	.body_topix .inner .ql-align-center img	{
		width: 100%;
	}
	
	.sub .history_02 table td.w250	{
		width: 30%;
	}
	.scroll_table:has(table.mt20)	{
		margin-top: 2rem;
	}
	.scroll_table:has(table.mt40)	{
		margin-top: 4rem;
	}

	.scroll_table	{
		margin-left: 3rem;
		margin-right: 3rem;
		min-height: 120px;
	}
	.scroll_table table	{
		margin-top: 0 !important;
		width: 840px;
	}
	.scroll_table th,
	.scroll_table td	{
		padding: 0.75em !important;
		line-height: 1.25;
	}
	
	.scroll-hint-icon	{
		top: 30px;
	}
	
	.body_gai-yoteihyou .scroll_table th:not(.w180)	{
		width: 16% !important;
	}
	
	.sub.body_sin-top .sin-sanfujin_03  .inner > .scroll_table table tr td:first-of-type	{
		width: 200px;
	}
	ul.la_change	{
		justify-content: space-between;
	}
	
	.drawer-nav	{
		width: 100%;
	}
	
	.open .basic *	{
		pointer-events: none;
	}

/* MENU */
	
	/* 
	=================================================================================
	
	▼▼▼　ハンバーガーメニュー　▼▼▼
	
	=================================================================================
	*/
	.toggle_btn {
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  position: relative;
	  z-index: 11;
	  width: 8rem;
	  height: 8rem;
	  transition: all 0.5s;
	  cursor: pointer;
	  background: #333;
	}
	.toggle_btn span {
	  display: block;
	  position: absolute;
	  right: calc((99.99% - (8rem * 0.6)) / 2);
	  width: calc(8rem * 0.6);
	  height: 0;
	  border-top: calc(8rem * 0.05) solid #fff;
	  background-color: #fff;
	  transition: all 0.5s;
	}
	.toggle_btn span:nth-child(1) {
	  transform: translateY(calc(8rem * 0.2));
	}
	.toggle_btn span:nth-child(2) {
	}
	.toggle_btn span:nth-child(3) {
	  transform: translateY(calc(-8rem * 0.2));
	}
	.open .toggle_btn {
	  background: #333;
	  box-shadow: none;
	}
	.open .toggle_btn span {
	  background-color: #fff;
	}
	.open .toggle_btn span:nth-child(1) {
	  -webkit-transform: translateY(0) rotate(-225deg);
	  transform: translateY(0) rotate(-225deg);
	}
	.open .toggle_btn span:nth-child(2) {
	  opacity: 0;
	}
	.open .toggle_btn span:nth-child(3) {
	  -webkit-transform: translateY(0) rotate(225deg);
	  transform: translateY(0) rotate(225deg);
	}
	
	.gloval-nav {
	  background-color: rgba(0, 0, 0, 0.7);
	  position: fixed;
	  z-index: 10;
	  top: 0;
	  bottom: 0;
	  right: 0;
	  left: 0;
	  padding: 10rem;
	  text-align: center;
	  display: flex;
	  flex-direction: column;
	  justify-content: center;
	  align-items: center;
	  transform: translateX(-100%);
	  transition: all 1s;
	}
	
	.gloval-nav a {
	display: block;
	color: #fff;
	padding: 1em 0;
	transition: color .6s ease;
	}
	.gloval-nav {
	  max-height: 100vh;
	}
	.gloval-nav ul {
	  overflow-y: auto;
	  width: 100%;
	}
	.gloval-nav ul > li {
	opacity: 0;
	transform: translateX(-200px);
	transition:  transform .6s ease, opacity .2s ease;
	}
	.gloval-nav ul > li:nth-child(2) {
	transition-delay: .1s;
	}
	.gloval-nav ul > li:nth-child(3) {
	transition-delay: .2s;
	}
	.gloval-nav ul > li:nth-child(4) {
	transition-delay: .3s;
	}
	.gloval-nav ul > li:nth-child(5) {
	  transition-delay: .4s;
	}
	.gloval-nav ul > li:nth-child(6) {
	  transition-delay: .5s;
	}
	.gloval-nav ul > li:nth-child(7) {
	  transition-delay: .6s;
	}
	.gloval-nav ul > li:nth-child(8) {
	  transition-delay: .7s;
	}
	.gloval-nav ul > li:nth-child(9) {
	  transition-delay: .8s;
	}
	.gloval-nav ul > li:nth-child(n+10) {
	  transition-delay: .9s;
	}
	.gloval-nav ul > li:last-of-type	{
		padding-bottom: 15vw;
	}
	/* open */
	.open {
	  overflow: hidden;
	}
	.open .gloval-nav {
	transform: translateX(0);
	transition: all .6s;
	}
	.open .gloval-nav li {
	opacity: 1;
	transform: translateX(0);
	transition:  transform 1s ease, opacity .9s ease;
	}
	
	.toggle_btn	{
		width: 20vw;
		height: 20vw;
		border-radius: 10vw;
		background-color: #665c52;
		position: fixed;
		top: 5vw;
		right: 3vw;
		z-index: 102;
	}
	
	.open .toggle_btn	{
		background-color: transparent;
		
	}
	
	.toggle_btn span	{
		width: calc(12rem * 0.6);
		right: calc((99.99% - (12rem * 0.6)) / 2)
	}
	
	.toggle_btn span:nth-child(2)	{
		opacity: 0;
	}
	
	.toggle_btn span:nth-child(1)	{
		transform: translateY(calc(-1rem * 0.2));
	}
	
	.toggle_btn span:nth-child(3)	{
		transform: translateY(calc(-14rem * 0.2));
	}
	.open .toggle_btn span:nth-child(1)	{
		transform: translateY(-1.5rem) rotate(-225deg);
		border-top-color: #665c52;
	}
	.open .toggle_btn span:nth-child(3)	{
		transform: translateY(-1.5rem) rotate(225deg);
		border-top-color: #665c52;
	}
	
	.toggle_btn .menu	{
		position: absolute;
		bottom: 3vw;
		font-size: 2.5rem;
		opacity: 1;
		transition: opacity 0.5s linear;
	}
	.open .toggle_btn .menu	{
		opacity: 0;
	}
	.gloval-nav	{
		position: fixed;
		top: 0;
		background-color: transparent;
		width: 100%;
		padding: 0;
		background-color: #fdefe4;
		width: 100%;
	}
	
	.gloval-nav ul	{
		width: 100%;
		position: relative;
	}
	
	.gloval-nav ul.header01	{
		width: 100%;
		background-color: transparent !important;
	}
	
	.gloval-nav ul.header01	{
		margin-bottom: 0;
	}
	
	.gloval-nav .bg_light_gray	{
		background-color: transparent !important;
	}
	
	.gloval-nav .drawer_logo	{
		padding: 5vw 3.3333vw 3.3333vw;
	}
	
	.gloval-nav .drawer_logo	{
		width: 66%;
	}
	
	.gloval-nav li	{
		border: 0 !important;
	}
	.gloval-nav ul.header01 > li:last-child	{
	}
	.gloval-nav a	{
		color: #665c52;
		display: flex;
	}
	
	.gloval-nav ul.header01 > li > a > .txt	{
		font-size: 3.4rem;
	}
	
	.gloval-nav .box	{
		margin: 3rem 5rem;
	}
	
	.gloval-nav .box li.mt20	{
		margin-top: 0;
	}
	.gloval-nav .box p	{
		margin-left: 3rem;
		margin-right: 3rem;
	}
	.gloval-nav .box p.fs12	{
		text-align: left;
		margin-top: 5rem;
	}
	
	.gloval-nav .box p.din.center	{
		font-size: 6.5rem;
	}
	.gloval-nav li > a	{
		padding-bottom: 1rem;
	}
	.gloval-nav li ol	{
		margin: 0.5rem 0 1rem;
	}
	.gloval-nav li ol a	{
		padding: 0.5rem 0;
	}
	
	.gloval-nav ul li ol a	{
		padding: 1rem 0.5rem 1rem 10rem;
	}
	
	.gloval-nav ul li ol a:before	{
		content: "- ";
		font-weight: bold;
	}
	
	.gloval-nav ul.header01 > li > a	{
		padding: 1.5rem 2.5rem 1rem 4rem;
	}
	
	.gloval-nav .header_outer
	
	.drawer-overlay	{
		background-color: transparent;
	}
}

