@charset "utf-8";
/*
Theme Name: Beyond
Vresion: 1.0.0
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
/*
*{
	outline: 1px solid magenta;
}
*/
:root{
	--maincolor: #5f9fd6 !important; /*95,159,214 */
	--secondcolor: #0062a0; /* 0,98,160 */
	--thirdcolor: #0a1b2d; /* 10,27,45 */
	--bg-color1: #dfebf6; /* 95,159,214,.2 */
	--bgcircle-color: #ffd65b; /* 255,204,51,.8 */
}

html {
	scroll-padding-top: 20% !important;
	scroll-behavior: smooth !important;
}

body{
	width: 100%;
	min-height: 100vh;
	font-size: 16px;
	color: var(--custom-color);
	font-family: "Noto Sans JP","YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN","Yu Gothic medium", "Meiryo", "sans-serif";
	line-break: strict;
	word-wrap: break-word;
	overflow-x: hidden;
}

#wrapper{
	width: 100%;
}

header{/* ヘッダー */}
section{/*一般セクション*/}
article{/*自己完結セクション*/}
nav{/* ナビゲーション */}
aside{/* 補足セクション */}
footer{/* フッター */}
blockquote{/* 引用部分 */}

img{
	width: 100%;
	height: 100%;
}

.disp_on,
.pcDisNon{
	display: none;
}

.disp_off,
.spDisNon{
	display: block;
}
/* TITLE */
h1.header_title{
	display: inline-block !important;
	font-size: .75rem;
	font-weight: normal;
	color: rgba(255,255,255,1); /* color-set */
	background-color: transparent;
	margin: 0;
	padding: 0;
}

.header-bg{
	background-color: var(--secondcolor);
	padding: .25rem 1rem;
}

h1{
	font-size: 2.25rem;
	font-weight: 600;
	color: rgba(255,255,255,1); /* color-set */
	background-color: var(--secondcolor);
	padding: .25rem 1rem;
}

h2{
	font-size: 2rem;
	font-weight: 600;
	color: var(--secondcolor);
	line-height: 150%;
	margin: 0 0 1rem;
	padding: .5rem .7rem;
    border-left: .5rem solid var(--maincolor);
    background-color: var(--bg-color1);
}

h3{
	position: relative;
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--secondcolor);
	line-height: 150%;
	margin: 1rem 0;
	padding: 0 0 5px;
	border-bottom: solid .25rem var(--bg-color1);
}

h3::before{
	width: 25%;
	position: absolute;
	bottom: -4px;
	left: 0;
	height: .25rem;
	content: '';
	background-color: var(--maincolor);
}

h4{
	position: relative;
	font-size: 1.5rem;
	font-weight: 600;
	color: rgba(255,255,255,1); /* color-set */
	line-height: 150%;
	margin: 1rem 0;
	padding: .45rem .7rem .55rem;
	background-color: var(--maincolor);
	border-radius: 0 0 1rem 0;
}

h4::before{
	width: 100%;
	position: absolute;
	bottom: 4px;
	left: 0;
	height: 2px;
	content: '';
	background-color: rgba(255,255,255,1); /* color-set */
}

h5{
	display: flex;
    align-items: center;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--secondcolor);
	line-height: 150%;
	margin: 1rem 0;
	padding: .5rem 0;
	border-bottom: .25rem double var(--maincolor);
}

h5::before{
	display: inline-block;
    width: 5px;
    height: 1.5rem;
    margin: 0 .5rem 0 0; 
    background-color: var(--maincolor);
    content: '';
}

h6{
	font-size: 1rem;
	font-weight: 600;
	line-height: 150%;
	color: var(--thirdcolor);
	margin: 1rem 0 .5rem;
}

.sidebar_ttl{
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--secondcolor);
	border-top: .2rem solid var(--maincolor);
}
/* LIST */
ul.check{
	text-indent: -1rem;
	padding: 0 0 0 1rem;
}

ul.check li{
	list-style-type: none !important;
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem) !important;
	line-height: 225%;
}

ul.check li::before{
	font-weight: 600;
	content: '\f14a';
	font-family: "Font Awesome 6 Free";
	color: var(--maincolor);
	padding: 0 .5rem 0 0;
}
/* COMMON */
.align1{
	text-align: center;
}

.align2{
	text-align: right;
}

.align3{
	text-align: left;
}

.txt-bold{
	font-weight: 600;
}

.txt-small{
	font-size: 75%;
}

.txt-large{
	font-size: 125%;
}

.txt-xlarge{
	font-size: 150%;
}

.txt-caption{
	font-size: 75%;
	text-align: right;
}

.txt-tel,
.txt-freetel{
	font-size: clamp(1.2rem, 0.982rem + 1.09vw, 1.8rem);
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: var(--thirdcolor);
	line-height: 135%;
}

.txt-tel a::before{
	content: '\f3ce';
	font-family: "Font Awesome 6 Free";
	padding: 0 .25rem 0 0;
}

.txt-tel a,
.txt-freetel a{
	color: var(--thirdcolor);
	line-height: 135%;
}

.txt-bread::before{
	font-weight: 600;
	content: '\f098';
	font-family: "Font Awesome 6 Free";
	padding: 0 .25rem 0 0;
}

.mgn-t1{
	margin: 1rem 0 0 0 !important;
}

.mgn-t2{
	margin: 2rem 0 0 0 !important;
}

.mgn-b1{
	margin: 0 0 1rem 0 !important;
}
/* TABLE */
table{
	width: 100%;
}

th,td{
	padding: .5rem;
}

th{
	font-weight: normal;
	background-color: rgba(0,0,0,.1);
}

td{
	
}

.tbl-design1{
	margin: 2rem 0 0;
}

.tbl-design1 table{
	border: none !important;
}

.tbl-design1 tr:nth-child(odd){
	background-color: var(--bg-color1);
}

.tbl-design1 th{
	width: 30%;
	background-color: transparent;
}

.tbl-design1 td{
	width: 70%;
}

.tbl-design2{
	margin: 1rem 0;
}

.tbl-design2 table,
.tbl-design2 tr,
.tbl-design2 th,
.tbl-design2 td{
	border: 1px solid #999;
}
/* HEADER */
#header{
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 99;
}

#header-nav{
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,1);/* color-set */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	align-content: center;
}

#header-nav_inner1{
	width: 50%;
	padding: 0 0 0 1rem;
}

#header-nav_inner1 img{
	max-width: 480px;
	height: auto;
	aspect-ratio: auto;
}

#header-nav_inner2{
	width: 20%;
	text-align: center;
}

#header-nav_inner3{
	width: 30%;
}

ul#menu-hnav{
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

ul#menu-hnav li.menu-item{
	width: calc(100%/4);
	font-size: 87.5%;
	text-align: center;
}
/* 20240822 */
ul#menu-hnav li.menu-item{
	display: block;
	height: 100%;
	background-color: var(--maincolor);
	padding: 1.5rem .5rem 1rem;
}

ul#menu-hnav li.menu-item a{
	color: rgba(255,255,255,1);
}

ul#menu-hnav li.menu-item a::before{
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	font-size: 2rem;
	line-height: 100%;
	display: block;
}

ul#menu-hnav li.menu-item:nth-of-type(1) a::before{
	content: '\f002';
}

ul#menu-hnav li.menu-item:nth-of-type(2) a::before{
	content: '\f1ea';
}

ul#menu-hnav li.menu-item:nth-of-type(3) a::before{
	content: '\f3ce';
}

ul#menu-hnav li.menu-item:nth-of-type(4) a::before{
	content: '\f0e0';
}
/* MAIN VISUAL */
#main-visual {
	position: relative;
	width: 100%;
}

#main-visual img,
#main-visual video{
	width: 100vw;
	max-width: 100%;
	height: auto;
	max-height: 70vh;
	object-fit: cover;
	object-position: bottom;
}

@media only screen and (min-width:768px) and (max-width:1024px){
#main-visual img,
#main-visual video{
	max-height: 30vh !important;
	}
}

@media only screen and (max-width:767px){
#main-visual img,
#main-visual video{
	aspect-ratio: 4 / 3;
	}
}

.main-visual_inner{
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0%);
	z-index: 10;
}

.main-visual_inner img{
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
}
/* GLOBAL NAV */
#nav{
	background-color: var(--maincolor);
	z-index: 10;
}

.menu-gnav-container{
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 1.5rem 0 1rem;
}

ul#menu-gnav{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	/*align-items: end;*/
}

ul#menu-gnav li.menu-item{
	position: relative;
	font-size: 87.5%;
	text-align: center;
}

ul#menu-gnav li.menu-item a{
	display: block;
	color: rgba(255,255,255,1); /* color-set_white */
}

ul#menu-gnav li.menu-item a::before{
	font-family: "Font Awesome 6 Free";
	font-size: 300%;
	line-height: 100%;
	display: block;
}

ul#menu-gnav li.menu-item:nth-of-type(1) a::before{
	font-weight: 900;
	content: '\f157';
}

ul#menu-gnav li.menu-item:nth-of-type(2) a::before{
	font-weight: 900;
	content: '\f1ec';
}

ul#menu-gnav li.menu-item:nth-of-type(3) a::before{
	content: '\f086';
}


ul#menu-gnav li.menu-item:nth-of-type(4) a::before{
	font-weight: 900;
	content: '\f2b5';
}

ul#menu-gnav li.menu-item:nth-of-type(5) a::before{
	content: '\f0eb';
}

ul#menu-gnav li.menu-item:nth-of-type(6) a::before{
	font-weight: 900;
	content: '\f555';
}

ul#menu-gnav li.menu-item:nth-of-type(7) a::before{
	content: '\f059';
}

ul#menu-gnav li.menu-item:nth-of-type(8) a::before{
	content: '\f044';
}

ul#menu-gnav li.menu-item:nth-of-type(9) a::before{
	content: '\f1ad';
}


ul#menu-gnav li.menu-item:nth-of-type(10) a::before{
	font-weight: 900;
	content: '\f015';
}


ul#menu-gnav li.current-menu-item > a{
	/*color: var(--thirdcolor);*/
}

ul#menu-gnav li.menu-item ul.sub-menu{
	position: absolute;
	width: 10rem;
    top: 122%;
    background-color: var(--thirdcolor);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
	visibility: hidden;
    opacity: 0;
    z-index: 1;
	padding: .5rem;
}

ul#menu-gnav li.menu-item:hover ul.sub-menu{
    visibility: visible;
    opacity: 1;
}

ul#menu-gnav li.menu-item ul.sub-menu > li.menu-item a{
	width: 10rem;
	color: #fff;
	text-align: left;
	padding: .5rem
}

ul#menu-gnav li.menu-item ul.sub-menu > li.menu-item a:hover{
	opacity: .6;
}

ul#menu-gnav li.menu-item ul.sub-menu > li.menu-item a::before{
	content: none;
}
/* CONTENTS */
#container_1clm{
	width: 100%;
}

#main-conts_1clm{
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}

#container{
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr auto;
	max-width: 1024px;
	margin: 0 auto 4rem;
}

#container ul,
#container ol{
	padding: 0 0 0 1rem;
}

#main-conts{
	min-width: 768px;
}

#side-conts{
	min-width: 240px;
}

.sidebar{
	margin: 0 0 2rem;
}

.sidebar select{
	width: 100%;
	border: 1px solid #ccc;
	margin: .5rem 0 0;
	padding: .25rem .5rem;
}

.widget_recent_entries ul{
	margin: .5rem 0 0 !important;
	padding: 0 !important;
}

.widget_recent_entries li{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	margin: 0 0 .75rem;
}

.widget_recent_entries li a{
	width: 100%;
	order: 2;
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
	line-height: 150% !important;
}

.widget_recent_entries li span.post-date{
	width: 100%;
	order: 1;
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
	line-height: 120%;
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: normal;
	margin: 0;
	padding: 0;
}

.wp-calendar-table th,
.wp-calendar-table td,
.wp-calendar-nav-prev{
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);	
	line-height: 120%;
	text-align: center;
}

.wp-calendar-table caption{
	text-align: left;
}

.wp-calendar-table caption,
.wp-calendar-nav-prev,
.wp-calendar-table td{
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: normal;
}
/* BOTTOM BANNER */
#bottom-bnr{
	position: relative;
	width: 100vw;
	height: 20vh;
	margin: 0 calc(50% - 50vw);
	background-image: url("images/bg-visual1.jpg");
	background-position: 0 100%;
	background-size: cover;
}

.bottom-bnr_inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 1024px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	margin: 0 auto;
	padding: 0;
}

.bottom-bnr_txt{
	font-size: 1.5rem;
	font-weight: 600;
	padding: 0 2rem;
}

.bottom-bnr_tel{
	padding: 0 2rem;
}
/* FOOTER */
#footer{
	background-color: #fff;
}

footer ul{
	padding: 0;
}

.footer-nav{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background-color: var(--thirdcolor);
}

.footer-nav_inner,
.co-info_inner{
	width: 100%;
	max-width: 1024px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1.5%;
	margin: 0 auto;
	padding: 2rem 0;
}

.footer-nav a{
	color: rgba(255,255,255,1);
}

.co-info__inner{
	width: calc(100%/3 - 6%);
}

.co-info__inner:nth-of-type(1){
	flex-grow: 2;
}

.co-info__inner:nth-of-type(3){
	align-items: flex-end;
	align-content: flex-end;
	text-align: right;
}

.co-info_inner img{
	max-width: 480px;
	height: auto;
	aspect-ratio: auto !important;
}

.menu-fnav1-container,
.menu-fnav2-container,
.menu-fnav3-container,
.menu-fnav4-container,
.menu-sns-container{
	width: calc(100%/5 - 3%);
}

ul#menu-sns{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-content: flex-start;
	align-items: flex-start;
	gap: 16px;
}

ul#menu-sns li.menu-item{
	width: calc(100% / 4 - 16px);
}

ul#menu-sns li.menu-item a{
	font-size: 150%;
	display: block;
	text-align: center;
}

/* BREAD CRUMB */
.breadcrumb{
	max-width: 1024px;
	margin: 0 auto;
	padding: .5rem 0 1rem;
}

.breadcrumb-item {
	display: inline;
}

.breadcrumb-item:nth-child(n + 2)::before{
	display: inline-block;
	font-family: 'Font Awesome 6 Free';
	font-weight: 600;
	content: '\f101';
	font-size: 75%;
	vertical-align: baseline;
}

.breadcrumb-item span{
	color: rgba(0,0,0,1);
	font-size: 87.5%;
}
/* LAYOUT */
.normal_area{
	padding: 4rem 0;
}

.full-area_inner{
	max-width: 1024px;
	margin: 0 auto;
}

.full-area{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background-color: var(--bg-color1);
	padding: 4rem 0;
	z-index: -2;
}

.full--area{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background-image: url("images/bg-visual1.jpg");
	background-position: 50% 0;
	background-size: cover;
	padding: 4rem 0;
}

/* LAYOUT */
.flex-box,
.flex--box{
	width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 2rem 0;
	padding: 0;
}

.flex-box::after,
.flex--box::after{
	content: '';
	display: block;
	width:32%;
}

.flex-box{
	align-items: flex-start;
	align-content: flex-start;
}

.flex--box{
	align-items: center;
	align-content: center;
}

.flex-box_inner,
.flex-box_inner1,
.flex-box_inner2{
	width: calc(96%/2);
	margin: 0 0 1rem;
}

.flex-box__inner{
	width: calc(96%/3);
}

.flex-box___inner{
	width: calc(96%/4);
}

.flex-box____inner{
	flex: 1 auto;
	padding: 0 .5rem;
}
/* GOOGLE MAP */
.iframe_wrap{
	aspect-ratio: 16 / 9;
    max-width: 1024px;
    width: 100%;
    height: auto;
}
/* FLOW */
.step-ttl2{
	position: relative;
	font-size: 1.5rem;
	line-height: 150%;
	font-weight: 600;
	color: var(--secondcolor);
	border-radius: 0 .5rem .5rem .5rem;
	background-color: rgba(239,220,122,.6);
	padding: 1rem;
}

.step-ttl2::before{
	font-family: 'Font Awesome 6 Free';
	content: '\f0a6  POINT';
	font-size: 1rem;
	position: absolute;
	top: -2rem;
	left: 0;
	height: 2rem;
	padding: 0 .5rem;
	color: #fff;
	border-radius: .5rem .5rem 0 0;
	background: var(--maincolor);
}
/* PAGE STEP */
.step-ttl3{
	position: relative;
	font-size: 1.5rem;
	line-height: 150%;
	font-weight: 600;
    color: var(--secondcolor);
	margin: 1rem 0;
	padding: 1.5rem 0 0;
	border-bottom: 4px solid #e5e5e5;/* color-set */
}

.step-ttl3::before{
	position: absolute;
    bottom: 15%;
    left: 0;
    color: #e5e5e5;/* color-set */
    font-size: 4rem;
    line-height: 1;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-style: normal;
    content: attr(data-number);
    pointer-events: none;
	z-index: -1;
}
/* SCHEDULE ROW*/
.schedule-row{
	width: 100%;
	position: relative;
	flex: 1 2 1;
	color: rgba(255,255,255,1);/* color-set */
	font-weight: 600;
	background-color: var(--secondcolor);
	margin: 0 auto .5em;
	padding: 0 0 0 .5em;
}

.schedule-row::after{
	position: absolute;
	top: 0;
	left: 100%;
	content: "";
	border: 16px solid transparent;
	border-left-color: var(--secondcolor);
  	border-top-width: 16px;
	border-bottom-width: 16px;
}

.schedule-arrow{
	display: none;
}

.flex-box__inner:nth-of-type(3) .schedule-row::after{
	content: none;
}
/* PROS-CONS*/
.pros-cons-box{
	width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	align-content: flex-start;
}

.pros-cons-box_inner{
	flex-basis: 49%;
	/*margin: 2rem 0;
	padding: 0;*/
	border: 2px solid var(--secondcolor);
    border-radius: .75rem;
}

.pros-cons-ttl1,
.pros-cons-ttl2{
	font-size: 1.5rem;
	line-height: 150%;
	font-weight: 600;
	color: #fff; 
	text-align: center;
    background-color: var(--secondcolor);
	border: none;
	border-radius: .5rem .5rem 0 0;
	margin: 0;
	padding: .5rem;
}

.pros-cons-ttl1::before{
    font-family: 'Font Awesome 6 Free';
	content: '\f164';
	font-weight: 600;
	font-size: 1.5rem;
	margin: 0 .25rem 0 0;
}

.pros-cons-ttl2::before{
    font-family: 'Font Awesome 6 Free';
	content: '\f165';
	font-weight: 600;
	font-size: 1.5rem;
	margin: 0 .25rem 0 0;
}
.pros-cons-body{
	padding: 1rem;
}
/* BUTTON */
.btn1 a{
	max-width: 12rem;
	display: block;
	margin: 1.9rem auto;
	padding: .5rem 1rem;
	box-sizing: border-box;
	background-color: rgba(255,51,51,1);
	border: 2px solid rgba(255,51,51,1);
	font-size: 16px;
	color: #fff;
	border-radius: 2rem;
	text-align: center;
}

.btn1 a::before{
	font-family: 'Font Awesome 6 Free';
	font-weight: 600;
	content: '\f1ec';
	font-size: 1.5rem;
	margin: 0 .25rem 0 0;
}

.btn1 a:hover{
	background-color: rgba(255,255,255,1);
	color: rgba(255,51,51,1);
}
/* PAGER */
.nav-links {
	position: relative;
	width: 100%;
    display: block;
	padding: 4rem 0 2rem;
}

.nav-next{
	position: absolute;
	width: 5%;
	right: 0;
}

.nav-previous{
	position: absolute;
	width: 5%;
	left: 0;
}

.nav-previous a,
.nav-next a{
	display: block;
	color: var(--maincolor);
	text-align: center;
	border: solid 1px var(--maincolor);
	padding: .5rem;
}

.nav-previous a:hover,
.nav-next a:hover{
	color: #fff;
	background-color: var(--maincolor);
}
/* POST LIST */
.post-list_inner{
	flex-basis: 25%;
}

.post-list__inner{
	flex-basis: 75%;
}

.post-list_ttl{
	width: 50%;
	display: block;
	font-size: 3rem;
	line-height: 100%;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: var(--secondcolor);
	text-align: center;
	border-left: .5rem solid var(--thirdcolor);
	margin: 0 auto;
	padding: .5rem 0 0;
}

.post-list_ttl span{
	font-size: 1.5rem;
	letter-spacing: .15rem;
	font-weight: 600;
	font-family: YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN","Yu Gothic medium", Meiryo, "sans-serif" !important;
	padding: 0 0 0 2rem;
}
/* POST LIST */
ul.post-list{
	width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
	margin: 0;
	padding: 0;
}

ul.post-list li.post-data{
	min-width: 6rem;
	font-size: clamp(0.875rem, 0.702rem + 0.86vw, 1.35rem);
}
	
ul.post-list li.post-title a{
	font-size: clamp(0.875rem, 0.702rem + 0.86vw, 1.35rem);
	line-height: 150% !important; 
	}

/* ARCHIVE */
.arc-img {
	position: relative;
	margin: 0 0 .5rem;
}

.arc-img img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}

.arc-label{
	width: 25%;
	height: 25%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--maincolor);
	padding: .75rem .5rem .5rem;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 1;
}

.arc-data{
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
	line-height: 120%;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: rgba(255,255,255,1);
}

.arc-cat a{
	display: inline-block;
	font-size: clamp(0.5rem, 0.409rem + 0.45vw, 0.75rem);
	font-weight: 300;
	color: #1a73e8 !important;
	/*background-color: var(--maincolor);*/
	margin: 0 0 .5rem;
	/*padding: .25rem .5rem;*/
}

.arc-title{
	font-size: 1rem;
	line-height: 150%;
	font-weight: 600;
	margin: 0 0 .5rem;
}

.arc-txt{
	font-size: .875rem;
	line-height: 150%;
	margin: 0 0 2rem;
}

.arc-label2{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	gap: 1rem;
	margin: 0 0 2rem;
}

.arc-data2{
	line-height: 120%;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: var(--secondcolor);
}

ul.arc-list{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-content: flex-start;
	align-items: flex-start;
	list-style: none;
	padding: 1rem 0 .5rem !important;
	border-bottom : solid 2px #e5e5e5;
}

ul.arc-list li.post-data{
	width: 20%;
	font-size: clamp(0.75rem, 0.586rem + 0.82vw, 1.2rem);
	font-family: "Roboto", sans-serif;

	font-weight: 600;
	font-style: normal;
	color: var(--secondcolor);
	padding: .25rem 0 .05rem;
}

ul.arc-list li.post-title{
	width: 80%;
	font-size: clamp(0.875rem, 0.702rem + 0.86vw, 1.35rem);
	font-weight: 600;
}
/* FAQ */
.faq-item {
    margin-bottom: 1rem;
    border: 1px solid rgba(209,209,209,1);
    border-radius: .5rem;
}

.faq-item summary {
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
	align-content: center;	
    padding: 1rem 2rem 1rem 3rem;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.faq-item summary::before,
.faq-item p::before {
    position: absolute;
    left: 1rem;
    font-weight: 600;
    font-size: 1.5rem;
}

.faq-item summary::before {
    color: var(--maincolor);
    content: "Q";
}

.faq-item summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: .75rem;
    height: .75rem;
    margin-left: .75rem;
    border-bottom: 3px solid rgba(0,0,0,1);
    border-right: 3px solid rgba(0,0,0,1);
    content: '';
    transition: transform .5s;
}

.faq-item[open] summary::after {
    transform: rotate(225deg);
}

.faq-item p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3rem 3rem 1.5rem;
    color:  rgba(0,0,0,1);
    transition: transform .5s, opacity .5s;
}

.faq-item[open] p {
    transform: none;
    opacity: 1;
}

.faq-item p::before {
    color: rgba(255,51,51,1);
    content: "A";
}

.tab-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 1rem 0;
}

.tab-wrap::after{
	display: block;
	width: 100%;
	height: .25rem;
	background-color: var(--maincolor);
	content: '';
	order: -1;
}

.tab-label{
	position: relative;
	/*flex: 1;*/
	width: calc(25% - .25rem);
	color: rgba(255,255,255,1);
	font-weight: 600;
	white-space: nowrap;
	text-align: center;
	padding: .5rem;
	background-color: rgba(209,209,209,1);
	order: -1;
	z-index: 1;
	cursor: pointer;
	border-radius: .5rem .5rem 0 0;
}

.tab-label:not(:last-of-type){
	margin-right: .25rem;
}

.tab-content{
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
}

.tab-switch:checked+.tab-label{
	background-color: var(--maincolor);
}

.tab-switch:checked+.tab-label+.tab-content {
	height: auto;
	overflow: auto;
	padding: 1rem;
	opacity: 1;
	transition: .5s opacity;
}

.tab-switch{
	display: none;
}
/* CONSULT */
.consul_cmt{
    position: relative;
    margin: 2.5rem 0 0;
    padding: 1.8rem 1.5rem 1rem 1.5rem;
    border: 2px solid var(--maincolor);
}

.consul_cmt h6{
    position: absolute;
    top: -2rem;
    left: -.5rem;
    padding: .4rem 1.4rem;
    border-radius: 1.5rem;
    background-color: var(--maincolor);
    color: rgba(255,255,0,1);
    font-size: .85rem;
}

.consul_cmt h6::before {
    position: absolute;
    bottom: -.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1rem;
    height: .5rem;
    background-color: var(--maincolor);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}
/* CONTACT */
#form{
	width: 100%;
	/*max-width: 716px;*/
	margin: 2rem auto;
}

#form tr{
	border-top: solid 1px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
	border-left: none;
	border-right: none;
}

#form th{
	width: 20%;
	background-color: #fff;
	text-align: left;
	padding: 2rem 0;
	vertical-align: top;
}

#form td{
	border: 0;
	padding: 2rem 0;
}

.wpcf7 .wpcf7-spinner{
	display: none !important; /* 送信ボタンの不要なマージン削除 */
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea{
	border: solid 1px rgba(225,225,225,1);
	border-radius: .25rem;
	padding: .5rem;
}

.wpcf7 #form input[name="your-name"],
.wpcf7 #form input[name="your-name2"],
.wpcf7 #form input[name="your-furigana"],
.wpcf7 #form input[name="your-furigana2"],
.wpcf7 #form input[name="shumoku"]{
	display: inline-block;
	width: 25%;
}

.wpcf7 #form input[name="zip"],
.wpcf7 #form input[name="pref"],
.wpcf7 #form input[name="city"],
.wpcf7 #form input[name="zip2"],
.wpcf7 #form input[name="pref2"],
.wpcf7 #form input[name="city2"]{
	display: block;
	width: 25%;
}

.wpcf7 #form input[name="your-age"],
.wpcf7 #form input[name="nyukyo-ninzu"],
.wpcf7 #form input[name="rimawari1"],
.wpcf7 #form input[name="rimawari2"],
.wpcf7 #form input[name="land-area"],
.wpcf7 #form input[name="building-area"],
.wpcf7 #form input[name="building-age1"],
.wpcf7 #form input[name="sell-price"],
.wpcf7 #form input[name="number-people"]{
	display: inline-block;
	width: 15%;
}

.wpcf7 input[type="submit"] ,
.wpcf7 input[type="button"] {
	display: block;
	color: rgba(255,255,255,1);
	text-decoration: none;
	text-shadow: none;
	box-shadow: none;
	border: solid 2px rgba(255,51,51,1);
	border-radius: .25rem;
	background-color: rgba(255,51,51,1);
	margin: 0 auto;
	padding: .5rem 3rem;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="button"]:hover{
	color: rgba(255,51,51,1);
	border: solid 2px rgba(255,51,51,1);
	background-color: rgba(255,255,255,1);
}

.must{
	background-color: rgba(255,51,51,1);
}

.free{
	background-color: #ccc;
}

.must,
.free{
	color: rgba(255,255,255,1);
	font-size: 75%;
	margin: 0 .5em 0 0;
	padding: .25rem .5rem;
	border-radius: .25rem;
}

.caution-box{
	padding: 2rem 0;
}

#ft-fixed-menu{
	display: none;
}
/* SITE MAP */
#sitemap ul{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .75rem;
	padding: 1rem 0 1rem 0 !important;
}

#sitemap ul li{
	list-style: none;
}

#sitemap ul li a::before{
	font-family: 'Font Awesome 6 Free';
	content: '\f101';
	font-weight: 600;
	padding: 0 .5rem 0 0;
}

#sitemap ul li a{
	display: block;
	font-weight: 600;
	color: var(--secondcolor);
	padding: 1rem .5rem 1rem 1rem;
	border: 2px solid #e5e5e5;
	border-radius: .5rem;
}

#sitemap ul li a:hover{
	background-color: #e5e5e5;
	transition: .3s;
}
/*  ARCHIVE PAGENATION */
.nav-links ul{
	display: flex;
	justify-content: center;
	gap: .5rem;
	list-style: none;
}

.nav-links li > * {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	height: 3rem;
}

.nav-links li > *:not(.dots){
	width: 3rem;
	color: rgba(255,255,255,1);
	background-color: #e5e5e5;
	border-radius: 50%;
	transition: color 0.3s ease, background 0.3s ease;
}

.nav-links li > .current,
.nav-links li > a:hover{
	color: rgba(255,255,255,1);
	background-color: #b2b2b2;
}

.privacy-item > li{
	margin-top: 1rem;
}

.privacy-item > li::marker {
	font-weight: 600;
}
/* WRAP AROUND */
.float_wrap{
	width: 100%;
	display: block;
}

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

.float_wrap figure{
	float: left;
	max-width: 50%;
	padding: 0 1rem 0 0;
}
/* 404 */
.error404_ttl{
	font-size: clamp(2.5rem, 2.2rem + 1.5vw, 4rem);
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: center;
	color: var(--maincolor);
	margin: 2rem auto;
}

.error404_ttl span.txt-large{
	font-size: 200% !important;
	line-height: 100%;
	color: var(--maincolor);
}

.error404_ttl span{
	font-size: 50%;
	color: #000;
}