@charset "utf-8";
/* CSS Document */

body,form,fieldset                              { margin: 0px; padding: 0px;}
fieldset                                        { border: none;}
h1,h2,h3,h4,h5,h6,p,pre,blockquote,ul,ol,dl,dd  { margin: 0px; padding: 0px;}
blockquote,li,dt,dd                             {}
li                                              { list-style: none;}
input,textarea                                  { font-size: 1em;}
img                                             { border: 0px none; margin: 0; padding: 0; vertical-align: bottom;}

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

html                                            { scroll-behavior: smooth; height: 100%; scroll-padding-top:148px;}

/* Tag Castam ----------------------------------------------------------------------------------------------------------------- */
@media(min-width: 920px){
     a[href^="tel:"]{
       pointer-events: none;
     }
   }	

body              { font-size: 17px; font-family:"Noto Sans", sans-serif; overflow:hidden auto;}

element           { box-shadow: none; outline: none; background: none;}

em                { font-weight: normal;font-style: normal;}
strong            {}

a                 { text-decoration: none; color: #000;}
a:link            {}
a:visited         {}
a:active          {}
a:focus           {}

button            { background: none; border: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
button            { font-size: clamp(0.875rem, 0.837rem + 0.19vw, 1rem); font-weight: bold;}

.ma0              { margin-bottom: 0;}
.ma5              { margin-bottom: 5px;}
.ma10             { margin-bottom:10px;}
.ma20             { margin-bottom:20px;}
.ma30             { margin-bottom:30px;}
.ma40             { margin-bottom:40px;}
.ma50             { margin-bottom:50px;}
.ma60             { margin-bottom:60px;}
.ma70             { margin-bottom:70px;}
.ma80             { margin-bottom:80px;}

.pa30             { padding: 0 30px;}
.pa40             { padding: 0 40px;}

.w100             { width: 100%;}

.flex             { display: flex;}
.center           { text-align: center;}
.end              { text-align: end;}
.justify          { text-align: justify;}
.left             { text-align:left;}
.bold             { font-weight: bold;}
.new_line         { display: contents;}
.line_break       { display: contents;}

.current          { border-bottom: 3px solid #00d5e9;}

.red              { color: #e21c12;}

p                 { font-size: clamp(0.875rem, 0.837rem + 0.19vw, 1rem); line-height:1.65rem; text-align: justify;}
h1                { font-size: clamp(1.125rem, 1.012rem + 0.57vw, 1.5rem);}
h2                { font-size: clamp(1.063rem, 0.968rem + 0.47vw, 1.375rem);}
h3                { font-size: clamp(1rem, 0.925rem + 0.38vw, 1.25rem);}
h4                { font-size: clamp(1rem, 0.962rem + 0.19vw, 1.125rem);}
h5                { font-size: clamp(0.875rem, 0.837rem + 0.19vw, 1rem);}

hr                { border: 1px solid #000000;  width: 100%; margin: 0; height: 0; background: none; outline: none; box-shadow: none; transform: none;}

.sp               { display: none;}



/* demo */
#demo img                                  { width: 100%; height: 100%; object-fit: cover;}


/* header */
header                                                { background-color: #fff;}/* box-shadow: 0 2px 8px rgba(0,0,0,0.25); */
header                                                { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;}/* 画面の一番上に固定 */
header .headbox                                       { max-width: 1050px; margin:0 auto; padding: 20px 0 0;}
header .headbox #g-nav                                { margin-bottom: 20px; justify-content: space-between; align-items: center;}
header .headbox #g-nav #site-id                       { width: fit-content; height: auto; vertical-align: middle;}
header .headbox #g-nav #site-id img                   { height: auto;}
header .headbox #g-nav button                         { color: #fff; display: block; padding: 0.5rem 2rem; background-color: #0068b7; border-radius: 30px; cursor: pointer;}
header .headbox #g-nav .inquirybox                    { align-items: center; gap: 1.3rem;}
header .headbox #g-nav .inquirybox .inquirywrap       { max-width: 100%; height: auto;} 
header .headbox #g-nav .inquirybox .inquiry-text      { border-right: 6px solid #00d5e9; margin-right: 0.75em; white-space: nowrap;}
header .headbox #g-nav .inquirybox .blue-text         { color: #0068b7; display: inline-block; margin-right: 0.75em;}
header .headbox #g-nav .inquirybox .tel-text          { color: #0068b7; display: inline-block; margin-top: 0.5rem; font-size: 1.6rem; font-weight: bold; line-height: 0.65rem; white-space: nowrap;}
header .headbox #g-nav .inquirybox .small-text        { font-size: 0.8rem;}

header .headbox hr                                    { position: relative; width: 100vw; left: 50%; transform: translateX(-50%);}
header .headbox hr.head-top                           { border-color:#969696; margin-bottom: 3px; border-top: none; border-left: none; border-right: none;}
header .headbox hr.head-bottom                        { border-color:#969696; margin-top: 3px; border-top: none; border-left: none; border-right: none;}

header .headbox #nav                                  { justify-content: space-between; align-items: center;}/* gap: 25px; */
/*header .headbox #nav .main_menu                     { position:relative; z-index:1; height: 3.5rem; align-items: center;}*/
header .headbox #nav .main_menu                       { position: relative; z-index: 1; height: 3rem; align-items: center; justify-content: center; border-left: 1px solid #969696; flex: 1; min-width: clamp(3rem, 20%, 7rem);}
header .headbox #nav .main_menu:first-child           { flex: none;  padding: 0 2em; min-width: clamp(8rem, 25%, 12rem);}
header .headbox #nav .main_menu:last-child            { border-right: 1px solid #969696;}

header .headbox #nav .main_menu:hover .sub_menu       { display:block; transition: all .3s;}

header .headbox #nav .sub_menu                        { display:none; position:absolute; top:40px;}
header .headbox #nav .sub_menu li                     { background:#00d5e9; opacity: 0.87; padding:4px 10px 6px 10px; min-width:10em;}
header .headbox #nav .sub_menu li:first-child         { padding-top:10px;}
header .headbox #nav .sub_menu li a                   { display:block; color:#fff; padding-bottom: 0.5rem; border-bottom: 1px solid #fff;}
header .headbox #nav .sub_menu li:last-child a        { border-bottom:none;}


/* footer */
footer                                     { max-width: 1050px; margin: 0 auto;}
footer hr                                  { border-color:#969696; position: relative; width: 100vw; left: 50%; transform: translateX(-50%); border-top: none; border-left: none; border-right: none;}

footer #address                            { margin-bottom: 50px;}

footer #linkbox                            { margin-bottom: 50px;}
footer #linkbox .insta                     { margin-bottom: 50px;}
footer #linkbox .links                     { display: flex; justify-content: center;}

footer #officebox                          { margin-bottom: 30px;}    
footer #officebox .contbox                 { justify-content: space-between; align-items: center;}
footer #officebox .contbox .r-box          { gap: 1.5rem; align-items: center;}
footer #officebox button                   { color: #fff; display: block; padding: 0.5rem 2rem; background-color: #0068b7; border-radius: 30px; cursor: pointer;}


/* copy */
#copy                                      { padding: 10px 0;}
#copy small                                { font-size: clamp(0.75rem, 0.712rem + 0.19vw, 0.875rem); color: #000;}


/* top page */

/* main slider */
#main                                      { padding-top: 158px;}/* header の高さ分の余白を追加、必要に応じて調整 */
#main .slider                              { position:relative; z-index: 1; width: 100vw; left: 50%; transform: translateX(-50%); background:#fff;}
#main .slider-item01                       { background:url(img/main_slide01.jpg);}
#main .slider-item02                       { background:url(img/main_slide02.jpg);}
#main .slider-item03                       { background:url(img/main_slide03.jpg);}
#main .slider-item04                       { background:url(img/main_slide04.jpg);}
#main .slider-item05                       { background:url(img/main_slide05.jpg);}
#main .slider-item                         { width: 100%; height:698px; background-repeat: no-repeat; background-position:top,center; background-size: cover; background-color:#fff;}

/*ドットナビゲーションの設定*/
.slick-dots                                { position: relative; z-index: 3; text-align:center; margin-top:20px; padding-bottom:20px;/*ドットの位置*/}
.slick-dots li                             { display:inline-block; margin:0 10px;}
.slick-dots button                         {
    color: transparent;
    outline: none;
    width:15px;/*ドットボタンのサイズ*/
    height:15px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    cursor: pointer;
    background:#fff;/*ドットボタンの色*/
    border:1px solid #cccccc;
	padding: 0;}
.slick-dots .slick-active button           { background:#6d400b; border:1px solid #6d400b;}/*ドットボタンの現在地表示の色*/


/* information */
#information                                                              { overflow: hidden;}
#information .contbox                                                     { max-width:1050px; margin: 0 auto;}
#information .contbox h2                                                  { font-size: 1.6rem; margin: 50px 0;}
#information .contbox .infobox li.article                                 { display: block; border-bottom: 1px solid #969696; padding-bottom: 1.3rem; margin-bottom: 1.6rem;}
#information .contbox .infobox li.article ul.artic-cont                   { justify-content: space-between; align-items: center; padding: 0 20px;}
#information .contbox .infobox li.article ul.artic-cont li:last-of-type   { margin-left: 2em;}
#information .contbox .morebtn                                            { justify-content: center;}
#information .contbox .morebtn button                                     { display: block; font-size: 1.35rem; margin-bottom: 50px; cursor: pointer;}

#information .contbox .infobox li
{ display: block; border-bottom: 1px solid #969696; padding-bottom:1.3rem; margin-bottom: 1.6rem;}
#information .contbox .infobox li a
{ display: block;  padding: 0 20px;}
#information .contbox .infobox li a span:last-child
{ float: right;}


/* support */
#support                                   { background-color: #0068b7; position: relative;  width: 100vw;  left: 50%; transform: translateX(-50%);}
#support .contbox                          { max-width:1050px; margin: 0 auto; padding: 60px 0;}
#support .contbox .h3box                   { align-items: center; justify-content: center;}
#support .contbox h3                       { font-size: 1.3rem; color: #fff; margin: 0 0.75rem;}
#support .contbox .ampl-mark               { height: 1.3rem; width: auto;}
.carousel-wrapper {
     position: relative;
     display: flex;
     align-items: center;
     overflow: hidden;
     width: 100%;
     max-width: 1050px; /* Limit visible area */
     margin: 0 auto;
   }
   .support-linkbox {
     display: flex;
     transition: transform 0.3s ease-in-out;
     gap: 20px; /* Add spacing between images */
   }
   .support-linkbox li {
     flex: 0 0 calc((100% / 3) - 10px); /* Show 3 items at a time with gap */
     list-style: none;
   }
   .support-linkbox img {
     width: 100%;
     display: block;
   }
   .arrow {
     position: absolute;
     top: 50%;
     z-index: 10; /* Ensure arrows are on top of images */
     transform: translateY(-50%);
     background: rgba(211, 237, 251, 1);
     border: none;
     border-radius: 50%;
     color: #0068b7;
     font-size: 1.5rem;
     padding: 0.4rem 0.8rem 0.5rem 0.8rem;
     cursor: pointer;
   }
   .arrow.left {
     left: 10px;
   }
   .arrow.right {
     right: 10px;
   }
   .indicator {
     display: flex;
     justify-content: center;
     margin-top: 15px;
   }
   .dot {
     height: 10px;
     width: 10px;
     margin: 0 5px;
     border-radius: 50%;
     background-color: #fff;
     cursor: pointer;
   }
   .dot.active {
     background-color: #fff462;
   }


/* address */
#address                                                            { gap: 1.75rem; align-items: center;}
#address .mapbox                                                    { display: block; width: 450px; aspect-ratio: 450 / 260;}
#address .mapbox .g-map                                             { width: 100%; height: 100%;}
#address .areabox .consultation-area                                { position: relative;}
#address .areabox .consultation-area::after                         { content: ""; display: block; width: calc(100% - 8.5rem); height: 1px; background-color: #000; position: absolute; top: 1em; left: 8.5rem;}
#address .areabox h5                                                { position: relative; font-size: 1.3rem; display: inline-block; margin-bottom: 1.15rem;}
#address .areabox .area-list                                        { display: block;}
#address .areabox .area-list li                                     { margin-bottom: 1.15rem;}
#address .areabox .area-list li span                                { font-weight: bold;}
#address .areabox .area-list li p                                   { padding-left: 0.93em;}


/* content page */
/*.contbox .relative                                   { position: relative; overflow: hidden;}*/


/* content - inheritance_will_adultguardianship */
#inheritance_will_adultguardianship                                            { padding-top: 161px;}
#inheritance_will_adultguardianship .contbox                                   { max-width:1050px; margin: 0 auto; padding: 50px 0}
#inheritance_will_adultguardianship .contbox .cont-head                        { align-items: center;}
#inheritance_will_adultguardianship .contbox .cont-head .titlwrap img          { width: fit-content; height: auto;} 
#inheritance_will_adultguardianship .contbox .cont-head .explwrap img          { width: fit-content; height: auto;} 
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn               { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; width: 100%; height: auto; padding: 0 3rem 0 0;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn li            { flex: 1 1 calc(33.333% - 10px); box-sizing: border-box;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn img           { width: 100%; height: auto; display: block;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn img.sp        { display: none;}
#inheritance_will_adultguardianship .contbox .cont-head .illstwrap img         { max-width: fit-content; height: auto;}
#inheritance_will_adultguardianship .contbox .cont-body .syk-cont              { position: relative; margin-bottom: 2.75rem;}
#inheritance_will_adultguardianship .contbox .cont-body .syk-cont .pc          { position: absolute; top: -30px; left: 20px; z-index: 1;}
#inheritance_will_adultguardianship .contbox .cont-body .syk-cont .pc img      { width: fit-content; height: auto;} 
#inheritance_will_adultguardianship .contbox .cont-body h3                     { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #d3edfb; width: 100%; padding: 0.75rem 0; margin-bottom: 2.5rem;}
#inheritance_will_adultguardianship .contbox .cont-body p                      { text-align: justify;}
#inheritance_will_adultguardianship .contbox .cont-body02 h3                   { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #fff; color: #0066cc; border: 1px solid #0066cc; width: 100%; padding: 0.75rem 0; margin-bottom: 2.5rem;}
#inheritance_will_adultguardianship .contbox .cont-body02 h4                   { color: #0066cc; font-size: 1.3rem; font-weight: normal;}


/* content - real_state_survey */
#real_estate_registration                                           { padding-top: 161px;}
#real_estate_registration .contbox                                  { max-width:1050px; margin: 0 auto; padding: 50px 0}
#real_estate_registration .contbox .cont-head .titlwrap img         { width: fit-content; height: auto;} 
#real_estate_registration .contbox .cont-head .linkbtn              { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; width: 100%; height: auto; padding: 0 3rem 0 0;}
#real_estate_registration .contbox .cont-head .linkbtn li           { flex: 1 1 calc(33.333% - 0px); box-sizing: border-box;}
#real_estate_registration .contbox .cont-head .linkbtn img          { width: 100%; height: auto; display: block;}
#real_estate_registration .contbox .cont-head .illstwrap img        { max-width: fit-content; height: auto;}
#real_estate_registration .contbox .cont-body .ft-cont              { position: relative; margin-bottom: 2.75rem;}
#real_estate_registration .contbox .cont-body .ft-cont .pc          { position: absolute; top: -30px; left: 20px; z-index: 1;}
#real_estate_registration .contbox .cont-body .ft-cont .pc img      { width: fit-content; height: auto;} 
#real_estate_registration .contbox .cont-body .ft-cont span         { color: #15923B; font-size: 1.3rem; display: block; margin: 10px 0;}
#real_estate_registration .contbox .cont-body .ft-cont hr           { border: 1px solid #15923B; margin: 20px 0;}
#real_estate_registration .contbox .cont-body h3                    { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #E3F5DC; width: 100%; padding: 0.75rem 0; margin-bottom: 1.5rem;}
#real_estate_registration .contbox .cont-body p                     { text-align: justify;}
#real_estate_registration .cont-body02                              { background-color: #E3F5DC; margin-bottom: 2.75rem;}
#real_estate_registration .cont-body02 .contbox .ft-cont  small     { display: block; text-align: center;}
#real_estate_registration .cont-body02 .contbox .ft-cont hr         { border: 1px solid #15923B; margin: 2.75rem 0;}
#real_estate_registration .cont-body02 .contbox .ft-cont .flex      { align-items: center;  color: #15923B; font-size: 2rem; font-weight: bold; position: relative; min-height: 70px;}
#real_estate_registration .cont-body02 .contbox .ft-cont .flex:after { content: ""; position: absolute; background: url("img/ft_arrow.png") no-repeat; display: inline-block; vertical-align: middle; background-size: contain; width: 50px; height: 50px; left: 50%; top: 50%; transform: translate(-10px, 70px);}
#real_estate_registration .cont-body02 .contbox .ft-cont .flex.none:after { content: none;}
#real_estate_registration .cont-body02 .contbox .ft-cont .flex img  { padding: 0 1rem; max-width: fit-content;}
#real_estate_registration #ft-cont02 h1                             { font-size: 32px;}
#real_estate_registration #ft-cont02 small                          { font-size: 16px;}


/* content - real_state_survey */
#real_state_survey                                                  { padding-top: 161px;}
#real_state_survey .contbox                                         { max-width:1050px; margin: 0 auto; padding: 50px 0}
#real_state_survey .contbox .cont-head .titlwrap img                { width: fit-content; height: auto;} 
#real_state_survey .contbox .cont-head .linkbtn                     { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; width: 100%; height: auto; padding: 0 3rem 0 0;}
#real_state_survey .contbox .cont-head .linkbtn li                  { flex: 1 1 calc(33.333% - 10px); box-sizing: border-box;}
#real_state_survey .contbox .cont-head .linkbtn img                 { width: 100%; height: auto; display: block;}
#real_state_survey .contbox .cont-head .illstwrap img               { max-width: fit-content; height: auto;}
#real_state_survey .contbox .cont-body .fs-cont                     { position: relative; margin-bottom: 2.75rem;}
#real_state_survey .contbox .cont-body .fs-cont .pc                 { position: absolute; top: -30px; left: 20px; z-index: 1;}
#real_state_survey .contbox .cont-body .fs-cont .pc img             { width: fit-content; height: auto;} 
#real_state_survey .contbox .cont-body h3                           { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #e7d5e8; width: 100%; padding: 0.75rem 0; margin-bottom: 1.5rem;}
#real_state_survey .contbox .cont-body p                            { text-align: justify;}


/* content - commercial_registration */
#commercial_registration                                            { padding-top: 161px;}
#commercial_registration .contbox                                   { max-width:1050px; margin: 0 auto; padding: 50px 0}
#commercial_registration .contbox .cont-head .titlwrap img          { width: fit-content; height: auto;} 
#commercial_registration .contbox .cont-head .explwrap img          { width: fit-content; height: auto;} 
#commercial_registration .contbox .cont-head .linkbtn               { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; width: 100%; height: auto; padding: 0 3rem 0 0;}
#commercial_registration .contbox .cont-head .linkbtn li            { flex: 1 1 calc(33.333% - 10px); box-sizing: border-box;}
#commercial_registration .contbox .cont-head .linkbtn img           { width: 100%; height: auto; display: block;}
#commercial_registration .contbox .cont-head .illstwrap img         { max-width: fit-content; height: auto;}
#commercial_registration .contbox .cont-body .st-cont               { position: relative; margin-bottom: 2.75rem;}
#commercial_registration .contbox .cont-body .st-cont .pc           { position: absolute; top: -30px; left: 20px; z-index: 1;}
#commercial_registration .contbox .cont-body .st-cont .pc img       { width: fit-content; height: auto;} 
#commercial_registration .contbox .cont-body h3                     { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #feecd2; width: 100%; padding: 0.75rem 0; margin-bottom: 2.5rem;}
#commercial_registration .contbox .cont-body p                      { text-align: justify;}



/* content - office */
#office                                            { padding-top: 161px;}
#office .contbox                                   { max-width:1050px; margin: 0 auto; padding: 50px 0}
#office .contbox .cont-head                        { align-items: center;}
#office .contbox .cont-head .titlwrap img          { width: fit-content; height: auto;} 
#office .contbox .cont-head .explwrap img          { width: fit-content; height: auto;} 
#office .contbox .cont-head .linkbtn               { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; width: 100%; height: auto; padding: 0 3rem 0 0;}
#office .contbox .cont-head .linkbtn li            { flex: 1 1 calc(33.333% - 10px); box-sizing: border-box;}
#office .contbox .cont-head .linkbtn img           { width: 100%; height: auto; display: block;}
#office .contbox .cont-head .linkbtn img.sp        { display: none;}
#office .contbox .cont-head .illstwrap img         { max-width: fit-content; height: auto;}
#office .contbox .cont-body .office-cont               { position: relative; margin-bottom: 2.75rem;}
#office .contbox .cont-body .office-cont .pc           { position: absolute; top: -30px; left: 20px; z-index: 1;}
#office .contbox .cont-body .office-cont .pc img       { width: fit-content; height: auto;} 
#office .contbox .cont-body h3                     { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #d3edfb; width: 100%; padding: 0.75rem 0; margin-bottom: 2.5rem;}
#office .contbox .cont-body h4                     { color: #0066cc; font-size: 1.3rem; font-weight: normal;}
#office .contbox .cont-body h4 small               {}
#office .contbox .cont-body h4 span                { color: #000; font-size: smaller;}
#office .contbox .cont-body p                      { text-align: justify;}
#office .contbox .cont-body ol                     { padding-left: 20px; line-height: 1.65rem;}
#office .contbox .cont-body ol li                  { list-style: auto;}
#office .contbox .cont-body span.circle            { color: #0066cc; /*padding-left: 0.5rem;*/}
#office .contbox .cont-body dl                     { padding: 10px 10px 20px 10px; border-bottom: 1px solid #0066cc; margin-bottom: 10px;}
#office .contbox .cont-body dl:nth-of-type(6)      { border-bottom: none; margin-bottom: 20px;}
#office .contbox .cont-body dt                     { min-width: 180px; font-weight: bold;}
#office .contbox .cont-body .mapbox img            { width: 100%; padding-left: 1rem;}
#office .contbox .cont-body02 h3                   { position: relative; z-index: 0; display: inline-block; font-size: 1.3rem; background-color: #fff; color: #000; border: 1px solid #0066cc; width: 100%; padding: 0.75rem 0; margin-bottom: 2.5rem;}
#office .contbox .main-Illust02                    { position: relative;}
#office .contbox .main-Illust02:after              { content: ""; position: absolute; background: url("img/office_main-Illust02.png") no-repeat; background-size: contain; vertical-align: middle; display: inline-block; width: 310px; height: 198px; right: 0; bottom: 0;}


/* content - contact */
#contact                                             { padding-top: 161px;}
#contact .contbox                                    { max-width:1050px; margin: 0 auto; padding: 50px 0}
#contact .contbox .cont-head                         { align-items: center;}
#contact .contactform                                { max-width:760px; margin:auto;}
#contact .contactform h1                             { background: #0068b7; border-radius: 50px; color: #fff; padding: 1rem; font-size: 36px; width: 65%; margin: 0 auto 20px;}

#contact .contactform form input[type=text],
#contact .contactform form input[type=email],
#contact .contactform form input[type=tel]           { width:100%; border-radius:3px; padding:10px; border: 1px solid #ced4da;}　　　　
#contact .contactform form input,#contact .contactform form textarea  { width:100%;  border-radius:3px; padding:10px; border: 1px solid #ced4da;}
#contact .contactform form select::-ms-expand      { display:none;}
#contact .contactform form select                  { width: 100%; border-radius:3px; padding:10px; border: 1px solid #ced4da; font-size: 17px; -webkit-appearance: none; appearance: none; cursor: pointer; }
#contact .contactform .select_wrapper              { position: relative;}
#contact .contactform .select_wrapper::after       { content: ""; position: absolute; top: 13px; right: 16px; width: 12px; height: 12px; border-right: 2px solid #333; border-bottom: 2px solid #333; transform: rotate(45deg); cursor: pointer; pointer-events: none; display: inline-block;}

#contact .contactform form input[type="radio"]       { position: relative; width: 16px; height: 16px; border: 1px solid #ced4da; border-radius: 50%; vertical-align: -2px; margin: 0; padding: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
#contact .contactform form input[type="radio"]:checked:before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 9px; height: 9px; border-radius: 50%; background: #0068b7;}

#contact .contactform form input[type="checkbox"]       { position: relative; width: 16px; height: 16px; border-radius:3px; border: 1px solid #ced4da; vertical-align: -5px; -webkit-appearance: none; -moz-appearance: none; appearance: none;}  
#contact .contactform form input[type="checkbox"]:checked:before { position: absolute; top: 2px; left: 5px; transform: rotate(50deg); width: 5px; height: 9px; border-right: 2px solid #0068b7; border-bottom: 2px solid #0068b7; content: '';}

#contact .contactform dl                             { justify-content:space-between; align-items:center;}
#contact .contactform dt                             { font-weight:bold; min-width:250px; margin-bottom: 5px;}
#contact .contactform dd                             { width:100%; margin-bottom: 40px;}
#contact .contactform button                         { min-width:300px; display:block; color:#fff; background:#0068b7; border-radius:50px; border:none; font-size:22px; font-weight:bold; padding:15px; margin:0 auto 80px; cursor:pointer;}
#contact .contactform dl .required                   { background:#e21c12; color:#fff; font-size:12px; padding:2px 8px; margin-left:1rem;}

#contact .contactform .contact_box_btn                        { justify-content:center; margin:auto;}
#contact .contactform .contact_box_btn input[type=submit]     { min-width:300px; display:block; color:#fff; background:#0068b7; border-radius:50px; border:1px solid #0068b7; font-size:22px; font-weight:bold; padding:15px; margin:auto; cursor:pointer;}
#contact .contactform .contact_box_btn button[value=back]     { min-width:300px; display:block; color:#0068b7; background:#fff; border-radius:50px; border:1px solid #0068b7; font-size:22px; font-weight:bold; padding:15px; cursor:pointer; margin:0 20px;}

#contact .personal_info hr                           { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, .1);}
#contact a.office_link                               { color: #0068b7; text-decoration: underline;}
#contact .personal_info .indent                      { text-indent: -1rem; padding-left: 1rem;}           


/* content - information_list */
/*#information_list                                    { padding-top: 161px;}*/
#information_list .contbox                           { max-width:1050px; margin: 0 auto; padding: 50px 0}
#information_list .contbox h1                        { /*background: #0068b7;*/ border-radius: 50px; /*color: #fff;*/ padding: 1rem; font-size: 36px; width: 65%; margin: 0 auto 40px;}
#information_list .contbox .infobox li
{ display: block; border-bottom: 1px solid #969696; padding-bottom:1.3rem; margin-bottom: 1.6rem;}
#information_list .contbox .infobox li a
{ display: block;  padding: 0 20px;}
#information_list .contbox .infobox li a span:last-child
{ float: right;}
#information_list .contbox .back_btn a      { min-width:300px; display:block; color:#fff; background:#0068b7; border-radius:50px; border:none; font-size:22px; font-weight:bold; padding:15px; margin:0 auto 80px; cursor:pointer; text-align: center;}

#information_list .contbox .page .flex               { justify-content: center; align-items: center;}
#information_list .contbox .page .flex li            { margin: 0 15px; text-align: center;}
#information_list .contbox .page .flex .current      { border: none; display: block; background: #0068b7; border-radius: 50px; width: 25px; height: 25px; line-height: 25px; color: #fff;}
#information_list .contbox .page .flex em            { border: none; display: block; background: #0068b7; border-radius: 50px; width: 25px; height: 25px; line-height: 25px; color: #fff;}
#information_list .contbox .detail_box                               { margin: 100px 0 60px;}
#information_list .contbox .detail_box .title                        { font-size: 22px; font-weight: bold;}
#information_list .contbox .detail_box .detail_wrap                  { display: flex; margin-bottom: 40px;}
#information_list .contbox .detail_box .detail_wrap .photo_space     { display: block; width: 450px; aspect-ratio: 3 / 2; background-color: #ccc; margin-right: 30px; overflow: hidden;}
#information_list .contbox .detail_box .detail_wrap .photo_space img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;}


h4.bluebelt                                          { background:#0e3079; color:#fff; padding:10px 0 10px 60px; border-radius:50px 0 0 50px; width:100%; position:relative; max-width:980px; margin:0 auto 40px; text-align: left;}
h4.bluebelt:before                                   { content:""; position:absolute; background:url(img/h4_ico.png) no-repeat; background-size:contain; display:inline-block; vertical-align:middle; width:28px; height:28px; left:2%; top:25%;}

h5.blueico                                           { font-size:22px; padding-left:35px; position:relative;}
h5.blueico:before                                    { content:""; position:absolute; background:url(img/h5_ico.png) no-repeat; background-size:contain; display:inline-block; vertical-align:middle; width:28px; height:28px; left:0; top:8%;}

h6.grayico                                           { font-size:18px; padding-left:1.3rem; position:relative; margin-bottom:5px;}
h6.grayico:before                                    { content:"●"; position:absolute; color:#969696; font-size:20px; left:0; top:-2px;}



@media (hover: hover) {
a:hover                                              { opacity:0.75; transition:.3s;}
header .headbox #nav a:hover                         { font-weight: bold;}
header .headbox #nav .sub_menu li a:hover            { opacity: 1;} 

#contact .office_link:hover                          { text-decoration: none; opacity:0.5;}
#contact .contactform button:hover,
#contact .contactform .contact_box_btn input[type=submit]:hover,
#contact .contactform .contact_box_btn button[value=back]:hover
                                                     { opacity:0.5; transition:.3s;}
#information_list .contbox .page .flex a:hover       { opacity:0.5; transition:.3s;}
}

@media (hover: none) {
a:active                                             { opacity:0.75; transition:.3s;}
#nav a:active                                        { font-weight: bold;}

#contact .office_link:active                         { text-decoration: none; opacity:0.5;}
#contact .contactform button:active,
#contact .contactform .contact_box_btn input[type=submit]:active,
#contact .contactform .contact_box_btn button[value=back]:active
                                                     { opacity:0.75; transition:.3s;}
													 
#information_list .contbox .page .flex a:active      { opacity:0.5; transition:.3s;}
}

@media only screen and (max-width: 1380px) {
#main .slider-item                                   { height:auto; padding-bottom:10.5%; background-size:contain;}
.slick-dots                                          { margin-top:0;}
}



@media only screen and (max-width: 1280px) {

}


@media only screen and (max-width: 1024px) {
header .headbox                                      { padding: 20px;}

body                                                 { padding: 0 20px;}

.new_line                                            { display:block;}

header .headbox #g-nav                               { padding: 0 20px;}

footer #officebox .foot-id                           { margin-bottom: 30px;}
footer #officebox .contbox                           { flex-direction: column;}
footer #officebox .contbox .r-box                    { flex-direction: column;}

#real_estate_registration .cont-body02               { margin: 0 -20px 2.75rem;}
#real_estate_registration .cont-body02 .contbox      { padding: 50px 20px;}

}



@media only screen and (max-width: 768px) {
.new_line                                            { display: contents;}

.pc                                                  { display:none;}
.sp                                                  { display:block;}

header .headbox #g-nav                               { flex-direction: column;}
header .headbox #g-nav #site-id                      { display: block; margin: 0 auto 20px;}
header .headbox #g-nav .inquirybox                   { flex-direction: column;         max-width: fit-content;}
header .headbox #g-nav .inquirybox .inquirywrap      { } 

#h-nav                                               { width:auto; clear: both; display:block;}
nav                                                  {
     display: block;
     position: fixed;
     top: 0;
     right: -70%;
     bottom: 0;
     width: 60%;
     background: #fff;
     overflow-x: hidden;
     overflow-y: auto;
     transition: all .6s;
     -webkit-overflow-scrolling: touch;
     transition: all .6s;
     z-index: 3;
     opacity:0;
}
.open nav                                  {
     right: 0%;
     opacity:1;
     height: auto;
}
.navmenu ul                                {
    width: 100%;
    position: absolute;
    top: 20%;
    left: 0;
    display:block;
}
.navmenu li /*a*/                          {
     display:block;
     margin:0 0 20px 20px;
     padding:0 0 20px 20px;
     border-bottom:solid 1px #6d400b;
     font-size:16px;
}


/* ハンバーガーメニュー */
.toggle_btn                                {
     display: block;
     position: fixed;
     top: 35px;
     right: 25px;
     width: 30px;
     height: 30px;
     transition: all .6s;
     cursor: pointer;
     z-index: 3;
}
.toggle_btn span                           {
     display: block;
     position: absolute;
     left: 0;
     width: 30px;
     height: 2px;
     border-radius: 3px;
     transition: all .3s;
     border:solid 1px #969696;
     -webkit-transition: .35s ease-in-out;
     -moz-transition: .3s ease-in-out;
     transition: .3s ease-in-out;
     background-color: #969696;
}
.toggle_btn span:nth-child(1)                        { top: 4px;}
.toggle_btn span:nth-child(2)                        { top: 14px;}
.toggle_btn span:nth-child(3)                        { bottom: 4px;}
.open .toggle_btn span                               { background-color: #969696;}
.open .toggle_btn span:nth-child(1)                  {
     -webkit-transform: translateY(10px) rotate(-45deg);
     transform: translateY(10px) rotate(-45deg);}
.open .toggle_btn span:nth-child(2)                  { opacity: 0;}
.open .toggle_btn span:nth-child(3)                  {
     -webkit-transform: translateY(-10px) rotate(45deg);
     transform: translateY(-10px) rotate(45deg);}
     

/* mask */
#mask                                                { display: none; transition: all .5s;}
.open #mask                                          {
     display: block;
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.9);
     z-index: 2;
}

#nav #menu                                           { display: block;}
#nav #menu .active                                   { transform: translateY(0%);}

#h-nav .main_menu                                    { position:relative; z-index:1;}
#h-nav .main_menu a                                  { display:block; width:80%;}
#h-nav .main_menu:before                             {
     content: "";
     position: absolute;
     border-right: 2px solid #000;
     border-top: 2px solid #000;
     display: inline-block;
     width: 10px;
     height: 10px;
     top:6px;
     left:90%;
     transition: all 0.5s;
     -webkit-transform: rotate(135deg);
     transform: rotate(135deg);}
#h-nav .sub_menu                                              { display:none; position: initial;}
#h-nav .sub_menu li                                           { padding:4px 10px 6px 10px;}
#h-nav .sub_menu li a                                         { display:block; width:100%; margin:10px 0; font-size:14px;}
#h-nav .sub_menu li                                           { margin:auto;}
#h-nav .sub_menu li:last-child                                { border-bottom:none;}

#h-nav .main_menu.close .sub_menu                             { display:block; transition: all .3s;}
#h-nav .main_menu.close::before                               { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}


#main                                                         { padding-top: 233px;}


#address                                                      { flex-direction: column;}
#address .mapbox                                              { width: 100%; height: auto;}

:target {
  scroll-margin-top: clamp(96px, 10vw, 234px); /* ヘッダーの高さ　例: 60px */
}


#inheritance_will_adultguardianship .contbox                             { padding-top: clamp(96px, 10vw, 234px);}
#inheritance_will_adultguardianship .contbox .cont-head                  { flex-direction: column; align-items: center;}
#inheritance_will_adultguardianship .contbox .cont-head .titlwrap img    { width: 100%; height: auto;} 
#inheritance_will_adultguardianship .contbox .cont-head .explwrap img    { width: 100%; height: auto;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn         { padding: 0; margin-bottom: 30px;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn li      { /*flex: 1 1 calc(50% - 10px);*/ flex: 1 1 calc(100% - 10px);}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn img.pc  { display: none;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn img.sp  { display: block; width: 100%;}
#inheritance_will_adultguardianship .contbox .cont-head .linkbtn img     { width: auto; margin: auto;}
#inheritance_will_adultguardianship .contbox .cont-body h3               { margin-bottom: 1.5rem;}
#inheritance_will_adultguardianship .contbox .cont-head .illstwrap img   { width: 100%;}


#real_estate_registration .contbox                            { padding-top: clamp(96px, 10vw, 234px);}
#real_estate_registration .contbox .cont-head                 { flex-direction: column; align-items: center;}
#real_estate_registration .contbox .cont-head .titlwrap img   { width: 100%; height: auto;} 
#real_estate_registration .contbox .cont-head .explwrap       { display: flex; justify-content: center; }
#real_estate_registration .contbox .cont-head .explwrap img   { width: 100%; height: auto;}
#real_estate_registration .contbox .cont-head .linkbtn        { padding: 0; margin-bottom: 30px;}
#real_estate_registration .contbox .cont-head .linkbtn li     { flex: 1 1 calc(50% - 10px);}
#real_estate_registration .contbox .cont-body h3              { margin-bottom: 1.5rem;}


#real_state_survey .contbox                                   { padding-top: clamp(96px, 10vw, 234px);}
#real_state_survey .contbox .cont-head                        { flex-direction: column; align-items: center;}
#real_state_survey .contbox .cont-head .illstwrap img         { width: 100%;}
#real_state_survey .contbox .cont-head .titlwrap img          { width: 100%; height: auto;} 
#real_state_survey .contbox .cont-head .linkbtn               { padding: 0; margin-bottom: 30px;}
#real_state_survey .contbox .cont-head .linkbtn li            { flex: 1 1 calc(50% - 10px);}
#real_state_survey .contbox .cont-body h3                     { margin-bottom: 1.5rem;}


#commercial_registration .contbox                             { padding-top: clamp(96px, 10vw, 234px);}
#commercial_registration .contbox .cont-head                  { flex-direction: column; align-items: center;}
#commercial_registration .contbox .cont-head .titlwrap img    { width: 100%; height: auto;} 
#commercial_registration .contbox .cont-head .explwrap img    { width: 100%; height: auto;}
#commercial_registration .contbox .cont-head .linkbtn         { padding: 0; margin-bottom: 30px;}
#commercial_registration .contbox .cont-head .linkbtn li      { flex: 1 1 calc(50% - 10px);}
#commercial_registration .contbox .cont-body h3               { margin-bottom: 1.5rem;}


#office .contbox                                              { padding-top: clamp(96px, 10vw, 234px);}
#office .contbox .cont-head                                   { flex-direction: column; align-items: center;}
#office .contbox .cont-head .titlwrap img                     { width: 100%; height: auto;} 
#office .contbox .cont-head .explwrap img                     { width: 100%; height: auto;}
#office .contbox .cont-head .linkbtn                          { padding: 0; margin-bottom: 30px;}
#office .contbox .cont-head .linkbtn li                       { /*flex: 1 1 calc(50% - 10px);*/ flex: 1 1 calc(100% - 10px);}
#office .contbox .cont-head .linkbtn img.pc  { display: none;}
#office .contbox .cont-head .linkbtn img.sp  { display: block; width: 100%;}
#office .contbox .cont-head .linkbtn img     { width: auto; margin: auto;}
#office .contbox .cont-body h3                                { margin-bottom: 1.5rem;}
#office .contbox .cont-head .illstwrap img                    { width: 100%;}
#office .contbox .cont-body .mapbox                           { flex-direction: column;}
#office .contbox .cont-body .mapbox li                        { width: 100%;}
#office .contbox .cont-body .mapbox li iframe                 { width: 100%; aspect-ratio: 450 / 260; margin-bottom: 20px;}
#office .contbox .cont-body .mapbox li img                    { width: 70%; padding-left: 0; display: block; margin: auto;}
#office .contbox .main-Illust02:after                         { content: none;}


#contact .contbox                                             { padding-top: clamp(96px, 10vw, 234px);}
#contact .contbox .cont-head                                  { flex-direction: column; align-items: center;}


#information_list .contbox                                           { padding-top: clamp(96px, 10vw, 234px);}
#information_list .contbox .detail_box .detail_wrap                  { flex-direction: column; margin-bottom: 25px;}
#information_list .contbox .detail_box .detail_wrap .photo_space     { width: 100%; margin-bottom: 30px;}


footer #officebox .foot-id                                    { margin-bottom: 25px;}
footer #officebox .contbox                                    { flex-direction: column;}
footer #officebox .contbox .r-box                             { flex-direction: column;}
footer #copy                                                  { text-align: center;}

}


@media only screen and (max-width: 428px) {
.line_break                                                   { display: block;}

body                                                          { font-size:15px;}

header #g-nav #site-id img                                    { width:100%;}

header .headbox #g-nav .inquirybox .blue-text                 { font-size: 0.7rem;}
header .headbox #g-nav .inquirybox .tel-text                  { font-size: 1.25rem; line-height: 0.35rem;}
header .headbox #g-nav .inquirybox .small-text                { font-size: 0.65rem;}

nav                                                           { width: 70%;}

.navmenu li                                                   { margin: 0 0 20px 10px; padding: 0 0 20px 10px}

#h-nav .main_menu:before                                      { left:87%;}

.slick-dots                                                   { padding-bottom:10px;}
/*.slick-dots button                 { width:10px; height:10px;}*/

/*#main                                                         { padding-top: 138px;}*/
#main .slider-item                                            { background-size: cover;}

#information .contbox .infobox li.article li:first-of-type    { inline-size: 95%; overflow-wrap: break-word;}
#information .contbox .infobox li.article ul.artic-cont li:last-of-type { margin-left: 0;}

#real_estate_registration .cont-body02 .contbox .ft-cont .flex img  { padding: 0 0.5rem;}
#real_estate_registration #ft-cont02 h1                             { font-size: 24px;}
#real_estate_registration #ft-cont02 small                          { font-size: 14px;}

#real_estate_registration .contbox .cont-head .illstwrap img  { width: 100%;}
#real_estate_registration .contbox .cont-head .linkbtn li     { flex: 1 1 100%;}
#real_estate_registration .cont-body02 .contbox .ft-cont .flex { font-size: 1.5rem;}
#real_estate_registration .cont-body02 .contbox .ft-cont .flex:after { width: 30px; height: 30px;}

#real_state_survey .contbox .cont-head .linkbtn li            { flex: 1 1 100%;}

#commercial_registration .contbox .cont-head .linkbtn li      { flex: 1 1 100%;}


h4.bluebelt:before                                            { left:6%;}


#office .contbox .cont-body dt                                { min-width: 90px;}
#office .contbox .cont-head .linkbtn li                       { flex: 1 1 calc(100% - 10px);}


#contact .contbox .pal1                                       { padding-left: 1rem; display: inline-block; padding-left: 1.5rem; text-indent: -0.5rem;}
#contact .contactform h1                                      { font-size: 28px; padding: 0.5rem; width: 80%;}
#contact .contactform form select                             { font-size: 15px;}
#contact .contactform dl                                      { flex-wrap:wrap;}
#contact .contactform dt                                      { margin-bottom:10px;}


#information_list .contbox .pal1                                   { padding-left: 1rem; display: inline-block; padding-left: 1.5rem; text-indent: -0.5rem;}
#information_list .contbox h1                                      { font-size: 28px; padding: 0.5rem; width: 80%;}
#information_list .contbox .infobox li.article li:first-of-type    { inline-size: 95%; overflow-wrap: break-word;}
#information_list .contbox .infobox li.article ul.artic-cont li:last-of-type { margin-left: 0;}
}


@media only screen and (max-width: 375px) {
#office .contbox .cont-body h4                                { font-size: 1.1rem;}

}







