@charset "utf-8";
/* CSS Document */

*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.pc{}
.sp{display: none;}

body{background-color: #ffffff;}

/*********************************
*********** レイアウト ************
*********************************/

.content {
    max-width: 980px;
    position: relative;
    padding: 6vh 0;
}

section a { color: #4a697f;}

.site-header{
	background: rgba(255,255,255,0.9);
	display: flex;
	padding: 10px;
	position: fixed;
	justify-content: space-between;
	transition: .5s;
	width: 100%;
	z-index: 99;
    box-shadow: 0 0 6px rgb(0 0 0 / 0.2);
}
.site-logo img{
	height: 60px;
	width: auto;
}
.site-header.transform .site-logo img{
	height: 40px;
	width: auto;
}

@media (max-width: 767px) and (min-width: 320px){
section .content {
    padding: 4% 2%;
}
}

/*****************************
************ NAVI ************
*****************************/
.gnav__menu{display: flex;}
.gnav__menu__item{margin-left: 20px;}
.gnav__menu__item a{color: #333;text-decoration: none;}

/*-----------見出し-----------*/
section h2 { 	
    font-size: 2rem;
	text-align: center;margin-bottom: 6vh;font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
section h2 span {
    font-size: 0.8rem;
    font-weight: normal;
    display: block;
    opacity: 0.6;
	font-family: auto;
}
section h3 {
    text-align: center;
    margin-bottom: 2vh;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.4rem;
}
section h4 {
    color: #0062ac;
    margin-bottom: 0.6em;
    font-size: 1.2rem;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    border-left: 5px solid #0062ac;
    padding: 0 0 0 1rem;
	text-align: left;
}

/*--------- 右サイドタブ ---------*/
.side_tab {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 2;
    width: max-content;
}
.side_tab img{display: block;}
img#rab_call {width: 100%;max-width: 93px;margin-bottom: 10px;
    margin-right: 0;
    margin-left: auto;}
img#tab_mail {width: 100%;max-width: 93px;margin-bottom: 0.5rem;
    margin-right: 0;
    margin-left: auto;}
img#rab_lp {width: 100%;max-width: 120px;
    margin-right: -5px;
    margin-left: auto;}

/*----------- 本文 ------------*/
.content p{	margin-bottom: 40px;}
.row .col-md-3 p{margin-bottom:0px;}
.service .row .col-md-3 p { font-size: 80%; }

/*----------- FOOTER ----------*/
.site-footer{
	background: #333;
	padding: 80px 0;
}.footer_column a{
	color: #fff;
}
.copyright{
	color: #fff;
    font-size: 12px;
    text-align: center;
    margin-top: -4px;
    background-color: #222b31;
}
/*----footerマップ非表示20201010-----*/
.map::before{
	content: "";
    background-image: url(images/lp/icon_mp.png);
    display: inline-block;
    width: 2em;
    height: 2em;
    background-size: contain;
    vertical-align: middle;
    margin-right: 0.5em;
    background-repeat: no-repeat;
}
footer .map{color:#ffffff;}
.footer_column {font-size: 0.8rem;}

/****banner***/
ul.bnrarea { display: flex;}
ul.bnrarea li {list-style-type: none;}
ul.bnrarea li img{width:90%; height:auto;}
#bnr_oita-cci {
    max-width: 170px;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

@media (max-width:767px){
ul.bnrarea { display: block;}
ul.bnrarea li {text-align:center;margin-bottom: 1rem;}
}

/********************************
************ HOME ***************
********************************/
/*---------- slider ---------*/
.slider_txt {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    position: absolute;
    z-index: 9999;
    bottom: 3em;
    left: 3em;
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 999;
	text-shadow:-1px -1px 6px rgb(0 0 0 / 40%), 1px -1px 6px rgb(0 0 0 / 40%), -1px 1px 6px rgb(0 0 0 / 40%), 1px 1px 6px rgb(0 0 0 / 40%);
	color:#ffffff;
}
#home .site-header{
	background: rgba(255,255,255,0);
	display: flex;
	padding: 30px 20px;
	position: fixed;
	justify-content: space-between;
	transition: .5s;
	width: 100%;
	z-index: 99;
	box-shadow:none;
}
#home .site-header.transform,.site-header.transform {
    background: rgba(255,255,255,0.9);
    padding: 10px;
}
.hero{
	/*height: 85vh;*/
	overflow: hidden;
}
.hero img{
	height: auto;
	width: 100%;
}

/*------------経歴------------*/
section.career h2:first-letter {letter-spacing: 2em;}
.career dl {
	background-image: url(images/bg_dl.png);
    background-repeat: no-repeat;
    background-position: 22% center;
    background-size: 3px 100%;
    max-width: 600px;
    margin: 0 auto;	
    padding: 1rem;
}
.career dl dt {
    border-bottom: 3px solid rgb(0 98 172 / 0.4);
    width: 24%;
}
.career dl dd {
    padding-left: 26%;
    margin-bottom: 3em;
    margin-top: -0.8em;
}
.career { background-image: url("images/bg_career.jpg");}
.career dl {background-position: 24% center;}

/*----------- サービス ------------*/
section.service h2,section.career h2 { color: #015da1;}
.service .row{display: flex;}
.service .more a {
    background-color: #11426b;
    padding: 0.3rem 1rem;
    color: #ffffff;
    text-decoration: none;
    margin: 1rem 0px 0 auto;
    border: none;
    font-size: 80%;
}

/*---------- 会社概要 ------------*/
.company {background-image: url("images/bg_company.jpg");}
.company table{
	width: 90%;
	max-width: 600px;
    margin: 0 auto;
}
.company table th,.company table td{
    padding: 1rem 0.5rem;
	text-align:left;
    border-bottom: 1px solid rgb(0 0 0 / 10%);
    box-shadow: 0 1px rgb(255 255 255 / 60%);
}
.company table th{    
    min-width: 6em;
    width: 20%;
    vertical-align: top;
}

/*------------- お問合せ --------------*/
.contact table{
	width: 90%;
	max-width: 600px;
    margin: 0 auto;
}
.contact table th,.contact table td{
    padding: 1rem 0.5rem;
	text-align:left;
}
.contact table th {
    min-width: 6em;
    width: 30%;
    vertical-align: top;
    font-weight: normal;
    text-align: left;
}
.contact select,.contact input,textarea {
    padding: 0.5rem 1rem;
	width: 100%;	
    margin-bottom: 0.5rem;
}
input[type="reset"],input[type="submit"],input[type="button"] {
    width: max-content;
	margin-bottom: 1.5rem;
}
input[type="submit"] {
    background-color: #015da1;
    color: #ffffff;
    border: 2px solid #015da1;
    border-radius: 4px;
    box-shadow: 2px 2px rgb(0 0 0 / 30%);
}
#confirm div#formWrap{margin: 6vh 0;}
p.error_messe {
    margin-top: 2rem;
    color: #cc0000;
}
.thanks .content{padding: 24vh 0}

@media (max-width:767px){
.contact table th {
    min-width: inherit;
    width: 36%;
}
}

/*****************************
********** RESPONSIVE ********
*****************************/
@media (max-width:767px){
.pc{display: none;}
.sp{display: inherit;}
.site-header { padding: 0px !important;}
.hero {height: 25vh;overflow: hidden;}
.slider_txt {
    top: 1em;
    left: 1rem;
    font-size: 1.4rem;
}
.site-header { padding: 0px;}
section h2 {margin-bottom: 2vh;}
.service .col-md-4 { padding: 0 1rem;width: auto;}
.header .text-3rem { font-size: 1.7rem;}
    .header .text-2_6rem { font-size: 1.7rem;}
}

.about {margin-top: -4px; box-shadow: 0 0 20px inset rgb(0 0 0 / 50%);background-attachment: fixed;}
.more {text-align:right;}
.more a {
    background-color: #ffffff;
    padding: 0.5rem 2rem;
    color: #11426b;
    text-decoration: none;
    margin: 1rem 0px 0 auto;
    display: block;
    width: max-content;
    box-shadow: 3px 3px 0px rgb(0 0 0 / 0.3);	
    border: 2px solid #11426b;
}
#customer .row{	margin-bottom: 4vh;}
#customer h3{
	text-align: left;	
    border-bottom: double 4px #cccccc;
    font-size: 1.4rem;
}
.bg-bubble {
    background-image: url(images/bg_h3.jpg);
	background-position: center;
	background-repeat:no-repeat;
}
#contact_section {
    background-color: #e8f1cb;
    box-shadow: 0 3px 6px inset hsl(0deg 0% 0% / 10%);
}
.bt_contact a{
	text-decoration: none;
    display: block;
    margin: 0 auto;
    width: max-content;
    text-align: center;
    color: #ffffff;
    background-color: #005e9a;
    padding: 0.5rem 3em;
    font-size: 1.4rem;
    box-shadow: 3px 3px 0 0 rgb(0 0 0 / 20%);
}

/**********************/
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    position: relative;
    width: 100%;
    /*padding-right: 15px;
    padding-left: 15px;*/
}
.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /*margin-right: -15px;
    margin-left: -15px;*/
}
.col-1 {
    -ms-flex: 0 0 8.3333333%;
    flex: 0 0 8.3333333%;
    max-width: 8.3333333%;
}
.col-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}
.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}
.col-md-4 { padding: 0 1rem;}
.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}
.col-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}
.col-11 {
    -ms-flex: 0 0 91.666%;
    flex: 0 0 91.666%;
    max-width: 91.666%;
}

@media (min-width: 768px){
.col-md-2 {
   padding: 0 1rem;
	width: 16.666667%;
	margin-bottom: 2rem;
}
.row .col-md-3 {
   padding: 0 1rem;
	width: 25%;
	margin-bottom: 2rem;
}
.col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
	}
.col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}
.col-md-10 {
   padding: 0 1rem;
	width: 83.333333%;
	margin-bottom: 2rem;
}
.row.reverce{flex-flow: row-reverse;}
}

@media (max-width: 767px) and (min-width: 321px){
.content {padding: 4vh 1vw;}
}

/****************************
******** プライバシー ********
****************************/
.privacy_dl dd{margin-left: 1em;}
.privacy_dl dd ul {margin-left: 1em;}


/*------- ごあいさつ -------*/
#greeting {
    background-image: url(images/bg_greeting.jpg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media (min-width:768px){
	#greeting{padding-top:52px;}
}

/**********相続***********/
table.table_tax {
    border-top:1px solid #cccccc;
    margin: 1rem auto;
}
table.table_tax td {
    border-bottom: 1px solid #cccccc;
	padding:.5rem;
}
table.table_tax thead th {
    background-color: #f7f7f7;
    padding: 0.5rem;
}
.souzoku ul { margin-left: 2em;}
.table_souzoku{
    border-top: 1px solid #efefef;
    margin: 1rem auto;
}
.table_souzoku td{
    border-bottom: 1px solid #efefef;
    padding: 0.5rem;
}
.table_souzoku th {
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #efefef;
    background-color: #e8f1cb;
}
/*--- 流れ ---*/
.flow dt {
    position: relative;
    overflow: hidden;
    padding: 0.5rem 90px 0.5rem;
    border: 2px solid #b6cc69;
    background-color: #fdfff4;
  }
  
  .flow dt:before {
    position: absolute;
    top: -110%;
    left: -100px;
    width: 180px;
    height: 200%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: #b6cc69;
  }
  
 .flow dt span {
    font-size: 28px;
    font-size: 2rem;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    padding-top: 3px;
    padding-left: 16px;
    color: #fff;
  }
.flow dd {
    margin-bottom: 1em;
    padding-left: 90px;
    padding-top: 0.5rem;      
    font-size: 80%;
    }
 dl.flow {
    max-width: max-content;
    margin: 2rem auto;
    }

@media (min-width:768px){
section.souzoku { padding-top: 52px;}
}


/*----------- 背景模様 ---------*/
@media (min-width:768px){
#onestop {
    position: absolute;
    top: -10vh;
    right: 0;
    width: 18%;
}
}
@media (max-width:767px){
#onestop {
    display: block;
    margin: 0 auto 1rem;
}
}


/***********************
********* LP ***********
***********************/
.yoyaku{
	display: inline-block;
    background-color: #b2823e;
    color: #ffffff;
    font-size: 80%;
    font-weight: 900;
    padding: 0.2rem 0.5rem;
    margin-right: 0.5rem;
}
.soudan_header {
    background-image: url(images/lp/header2_bg.png);
    background-position: top center;
    background-size: auto 98%;
    text-align: center;
    background-repeat-y: no-repeat;
}
section.soudan {
    background-image: url(images/lp/bg_station.jpg);
    background-size: cover;
    background-position: center bottom;
	background-repeat:no-repeat;background-color: #ffffff;
   background-attachment: fixed;
}
.muryou{
    background-color:#efefef;
    padding:1rem;
}
.youyoyaku{
    background-color: #0062ac;
    color: white;
    text-align: center;
    padding: 0.5rem;
    margin-top: 1rem;
    
    margin-bottom: 1rem;
}
#lp .contact{
    background-color: #ffffff !important;
}
@media (max-width:767px){
    .soudan_header {background-image: none;}
    .muryou .col-md-4 { text-align: center;}
}

/********************************
********** STYLE ****************
********************************/

img.img-fulid {
    width: 100%;	
    max-width: max-content;
}

.lh-1_2{line-height: 1.2;}

.text-center{text-align: center !important;}
.text-right{text-align: right;}

.text-2_6rem{font-size:2.6rem;}
.text-3rem{font-size:3rem;}

.text-red{color: #c8161d;}

.small{font-size:80%;}

.ancer {
    margin-top: -52px;
    padding-top: 52px;
    clear: both;
    content: "";
    height: 1px;
}
.mb-0 { margin-bottom: 0px !important;}
.mb-1 {margin-bottom: 0.25rem;}

.mt-5 {margin-top: 3rem;}

.pt-0 { padding-top: 0px; }
.pb-0 { padding-bottom: 0px; }