@charset "UTF-8";

/*------------------------------------------
  共通部品
------------------------------------------*/
.pc { display: block !important; }
.sp { display: none !important; }

a{
  text-decoration: none;
  color: #fff;
}

button{
  cursor: pointer;
}

/*―――――――――――――――――――――――――――――――――*/
/*――――――――見出しのスタイル――――――――――*/
/*―――――――――――――――――――――――――――――――――*/
h2{
  font-family: 'Noto Serif JP','Times New Roman', serif;
  font-size: 32px;
  font-weight: 600;
  display: inline-block;
  border-bottom: 1px solid #98A6B5;
  margin: 0 0 10px 0;
  line-height: 1.9;
  color: #042440;
}

p.contents_subtitle{
  font-family: 'Times New Roman';
  font-size: 26px;
  margin: 0;
  color: #042440;
}

/*―――――――――――――――――――――――――――――――――*/
/*――――――――――――――ラベル―――――――――――――*/
/*―――――――――――――――――――――――――――――――――*/
.label{
  height: 66px;
  color: #fff;
  background-color: #042440;
  border: 1px solid #707070;
  font-size: 32px;
  text-align: left;
  margin: 80px auto;
}
.label p{
  font-family: 'Noto Serif JP', serif;
  display: inline-block;
  border-left: 3px solid #D0A739;
  margin: 12px 0 0 18px;
  line-height: 40px;
  padding-left: 14px;
}


/*―――――――――――――――――――――――――――――――――*/
/*―お知らせ・略歴のテーブルスタイル―*/
/*―――――――――――――――――――――――――――――――――*/
table{
  margin: 0 auto;
  border-collapse:collapse;
  text-align: left;
}

table tr {
  border-bottom:1px solid #98A6B5;
}

.tbl_date{
  font-family: 'Noto Serif JP', serif;
  font-size: 22px;
  line-height: 1.63;
  color: #042440;
  padding-left: 12px;
  width: 223px;
}
.tbl_detail{
  font-family: "Meiryo","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka",sans-serif;
  font-weight: 400;
  font-size: 20px;
  vertical-align: inherit;
}

/*―――――――――――――――――――――――――――――――――*/
/*――――――――取扱業務カード部分――――――――*/
/*―――――――――――――――――――――――――――――――――*/
.container{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
}

.card{
  width: 360px;
  height: 480px;
  margin: 0 24px 42px 24px;
  border-top: 2px solid #D0A739;
  box-shadow: 0 0 3px #00000029;
  background-color: #FFFFFF;
  position: relative;
  cursor: pointer;
}

.card:hover{
  border-top: 2px solid #042440;
  opacity: 0.8;
}

.card:hover > .card_arrow{
  border-color: transparent transparent #D0A739 transparent;
}

.card .business_image img{
  width: 360px;
  height: 240px;
  object-fit: cover;
}

.card .business_text{
  margin: 20px;
  text-align: left;
}

p.business_text_subtitle {
  font-size: 23px;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  letter-spacing: -1px;
  margin: 20px 0;
}

p.business_text_details{
  font-size: 16px;
  font-family: "Meiryo","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka",sans-serif;
}
.card_arrow{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 60px 60px;
  border-color: transparent transparent #042440 transparent;
  position: absolute;
  right: 0;
  bottom: 0;
}

.card_line_arrow:before,
.card_line_arrow:after{
  content: '';
  display: block;
  position: absolute;
  top: 460px;
  right: 40px;
  height: 2px;
  background: #fff;
}
.card_line_arrow:before{
  width: 15px;
  transform: translate(30px, 0px);

}
.card_line_arrow:after{
  width: 10px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(40deg);
}


/*―――――――――――――――――――――――――――――――――*/
/*―――矢印が伸びるボタンのスタイル―――*/
/*―――――――――――――――――――――――――――――――――*/
button.button_nextpage{
  width: 320px;
  height: 64px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: 24px;
  color: #042440;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid #042440;
  position: relative;
}

button.button_nextpage:hover{
  color: #fff;
  background-color: #042440;
  border: 1px solid #042440;
}

/* ボタン矢印 */
 .button_line_arrow:before,
 .button_line_arrow:after{
  content: '';
  display: block;
  position: absolute;
  top: 35px;
  right: 50px;
  height: 1px;
  background: #042440;
}
 .button_line_arrow:before{
  width: 25px;
  transform: translate(30px, 0px);
  transition: .2s all;
}
 .button_line_arrow:after{
  width: 10px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(40deg);
  transition: .2s all;
}

button.button_nextpage:hover >  .button_line_arrow:before{
  background:#D0A739;
  width: 75px;
  right: 0px;
  transition: .2s all;
}
button.button_nextpage:hover >  .button_line_arrow:after{
  background:#D0A739;
  right: 0px;
  transition: .2s all;
}

.button_line_arrow:hover::before {
  transform: scale(1, 1);
}
/*―――――――――――――――――――――――――――――――――*/
/*――――サイドバー部分のボタン指定――――*/
/*―――――――――――――――――――――――――――――――――*/

/* 電話 */
button.button_sm_tel{
  font-family: 'Noto Serif JP', serif;
  width: 178px;
  height: 44px;
  border: 1px solid #fff;
  color: #fff;
  background-color: #042440;
  font-size: 12px;
  padding:0;
  border-radius:0;
  margin-bottom: 40px;
}

button.button_sm_tel span{
  display: inline-block;
  border-left: 1px solid #fff;
  line-height: 3.5;
  padding: 0 16px 0 30px;
  margin-left: 5px;
}

button.button_sm_tel:hover{
  border: 1px solid #D0A739;
}
button.button_sm_tel:hover > span{
  border-left: 1px solid #D0A739;
}

button.button_sm span img{
  width: 16px;
  padding: 0 0 0 0;
  border-right: 1px solid #fff;
}

button.button_sm_tel:before{
  width: 20px;
  height: 20px;
  margin-right: 5px;
  background: url(images/icon_phone.png);
  background-size: 100%;
  vertical-align: middle;
  display: inline-block;
  content: "";
  background-repeat: no-repeat;
}

/* メール */
button.button_sm_mail{
  font-family: 'Noto Serif JP', serif;
  width: 178px;
  height: 44px;
  border: 1px solid #fff;
  color: #fff;
  background-color: #042440;
  font-size: 12px;
  padding:0;
  border-radius:0;
  margin-bottom: 40px;
}

button.button_sm_mail span{
    display: inline-block;
    border-left: 1px solid #fff;
    line-height: 3.5;
    padding: 0 0px 0 8px;
    margin-left: 5px;
}

button.button_sm_mail:hover{
  border: 1px solid #D0A739;
}

button.button_sm_mail:hover > span{
  border-left: 1px solid #D0A739;
}

button.button_sm_mail:before{
  width: 20px;
  height: 20px;
  margin-right: 5px;
  background: url(images/icon_mail.png);
  background-size: 100%;
  vertical-align: middle;
  display: inline-block;
  content: "";
  background-repeat: no-repeat;
}

/* ---------------------------------------------------
パンくず
--------------------------------------------------- */
.topicpass{
  grid-area: topicpass;
  font-size: 18px;
  text-align: left;
  border-bottom: 1px solid #98A6B5;
  margin-top: 20px ;
  font-family: 'Noto Serif JP', serif;
  color: #042440;
  font-weight: 600;
}
.topicpass a{
  font-family: 'Noto Serif JP', serif;
  color: #042440;
}
/* ---------------------------------------------------
コンタクト(共通部分)
--------------------------------------------------- */
.contact { 
  grid-area: contact; 
  background-image: url(images/bg_contact.jpg);
  position: relative;
  background-position: center;
  background-size: cover;  
}

#contact_btn{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: initial;
  margin-top: 110px;
  margin-bottom: 65px;
}

/*―――――――――――――――――――――――――――――――――*/
/*――――コンタクト部分のボタン指定――――*/
/*―――――――――――――――――――――――――――――――――*/
button.button_bg_tel,
button.button_bg_mail{
  width: 418px;
  height: 118px;
  border: 3px solid #042440;
  color: #042440;
  background-color: #fff;
  font-size: 20px;
  padding:0;
  border-radius:0;
  margin: 0 25px 40px 25px;
  font-family: 'Noto Serif JP', serif;
}

.button_bg_tel{
  font-family: 'Noto Serif JP', serif;
  color: #000;
}
button.button_bg_tel:hover,
button.button_bg_mail:hover{
  border: 3px solid #D0A739;
  color: #fff;
  background-color: #042440;
}

/*――――電話マーク画像のホバー対応――――*/
button.button_bg_tel:before{
  width: 32px;
  height: 32px;
  margin-right: 5px;
  background: url(images/icon_phone_blue.png);
  background-size: 100%;
  vertical-align: middle;
  display: inline-block;
  content: "";
}

button.button_bg_tel:hover:before{
  width: 32px;
  height: 32px;
  margin-right: 5px;
  background: url(images/icon_phone.png);
  background-size: 100%;
  vertical-align:middle;
  display: inline-block;
  content: "";
}

/*――――メールマーク画像のホバー対応――――*/
button.button_bg_mail:before{
  width: 32px;
  height: 32px;
  margin-right: 5px;
  background: url(images/icon_mail_blue.png);
  background-size: 100%;
  vertical-align: middle;
  display: inline-block;
  content: "";
}

button.button_bg_mail:hover:before{
  width: 32px;
  height: 35px;
  margin-right: 5px;
  background: url(images/icon_mail.png);
  background-size: 100%;
  vertical-align:middle;
  display: inline-block;
  content: "";
}

/*――――ボタン内の文字サイズ指定――――*/
button.button_bg_tel{
  font-size: 24px;
}

button.button_bg_tel span{
  font-size: 18px;
  padding-top: 10px;
  display: inline-block;
}

/* ---------------------------------------------------
ヘッダー
--------------------------------------------------- */
.header {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.header h3{
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  color: #fff;
  line-height: 1.425;
  font-size: 40px;
  margin-top: 130px;
  letter-spacing: 0.1em;
}

/* ---------------------------------------------------
フッター
--------------------------------------------------- */
#footer_pc { 
  grid-area: footer_pc; 
  background-color: #02182A;
  color: #fff;
  /* text-align: left; */
}
.footer_box{
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 100px;
}
.footer_right,
.footer_left{
  width: 252px;
  height: auto;
  margin: 0 11.2vw;
  text-align: left;
}

.footer_right .menu{
  width: 230px;
}

.footer_right .menu_name{
  /* font-family: 'Noto Serif JP';
  font-size: 18px; */
  margin: 10px 0;
  display: flex;
  align-items: center;
  /* display: inline-block; */
  width: 100%;
  height: initial;
}

.footer_left .address{
  font-size: 14px;
  text-align: left;
  font-family: "Meiryo","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka",sans-serif;
}

.footer_left .name{
  /* background-image: url(images/logo.png); */
  background-size: cover;
  margin: 0;
}

p.ad_name{
  font-family: 'Noto Serif JP', serif;
  font-size: 16px;
}

p.footer_officsname{
  font-size: 16px;
  margin-top: 80px;
}

.footer_right .menu{
  margin: 0 auto;
}

/* ---------------------------------------------------
サイドメニュー
--------------------------------------------------- */
#side {
  grid-area: side;
  background-color: #042440;
  color: #FFFFFF;
}

.sidecontents{
  position: sticky;
  top: 0;
  padding-top: 80px;
}

a img.name {
  display: inline-block;
  width: 173px;
  height: 53px;
  /* background-size: cover; */
  margin: 0 auto;
}
.menu{
  width: 140px;
  margin: 82px auto;
  text-align: left;
}

.menu_name{
  /* font-family: 'Noto Serif JP';
  font-size: 18px; */
  margin: 36px 0;
  display: flex;
  align-items: center;
  /* display: inline-block; */
  width: 100%;
  height: initial;
}

.menu_name a{
  font-size: 18px;
  font-family: 'Noto Serif JP', serif;
}

.animation_line {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.animation_line:after {
  border-top: 1px solid;
  content: "";
  width: 20px; /* 線の長さ */
}
.animation_line:after {
  margin-left: 1px; /* 文字の左隣 */
}

.menu_name:hover > .animation_line:after{
  border-top: 1px solid #D0A739;
  content: "";
  width: 30px; /* 線の長さ */
  transition: .2s all;
}



/* ---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
ブレイクポイント
---------------------------------------------------
---------------------------------------------------
--------------------------------------------------- */

@media screen and (max-width:1000px) { 

.contact .contents_title {
  margin: 55px 0;
}
#contact_btn {
  margin: 36px 0;
}

}




/* ---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
  SPサイズ
---------------------------------------------------
---------------------------------------------------
--------------------------------------------------- */
@media screen and (max-width:500px) { 

  .pc { display: none !important; }
  .sp { display: block !important; }

/*―――――――――――――――――――――――――――――――――*/
/*―――矢印が伸びるボタンのスタイル―――*/
/*―――――――――――――――――――――――――――――――――*/
button.button_nextpage {
  width: 200px;
  height: 48px;
  font-size: 14px;
  color: #fff;
  background-color: #042440;
  border: 1px solid #042440;
  position: relative;
}

.button_line_arrow:before {
  width: 16px;
  transform: translate(30px, 0px);
}

.button_line_arrow:before, .button_line_arrow:after {
    content: '';
    display: block;
    position: absolute;
    top: 25px;
    right: 50px;
    height: 1px;
    background: #D0A739;
}

/*―――――――――――――――――――――――――――――――――*/
/*――――――――見出しのスタイル――――――――――*/
/*―――――――――――――――――――――――――――――――――*/
h2{
  font-size: 24px;
}

p.contents_subtitle{
  font-size: 16px;
}

/*―――――――――――――――――――――――――――――――――*/
/*―お知らせ・略歴のテーブルスタイル―*/
/*―――――――――――――――――――――――――――――――――*/
/* .news table {
  width: 309px;
  height: 198px;
} */

.tbl_date {
  font-size: 16px;
  padding-left: 0px;
  width: 223px;
  line-height: 1.43;
  padding-top: 10px;
}

.tbl_detail {
  font-size: 14px;
  line-height: 1.5;
}


/*―――――――――――――――――――――――――――――――――*/
/*――――――――取扱業務カード部分――――――――*/
/*―――――――――――――――――――――――――――――――――*/
.card {
  width: 300px;
  height: 400px;
}

.card .business_image img {
  width: 300px;
  height: 200px;
}

p.business_text_subtitle {
  font-size: 18px;
  margin: 10px 0;
}

p.business_text_details {
  font-size: 15px;
}

.card_arrow {
  border-width: 0 0 50px 50px;
}

.card_line_arrow:before, 
.card_line_arrow:after {
  top: 385px;
  right: 38px;
}

.card .business_text {
  margin: 5px;
}


/*―――――――――――――――――――――――――――――――――*/
/*――――コンタクト部分のボタン指定――――*/
/*―――――――――――――――――――――――――――――――――*/
/* .contact #contact_btn {
  flex-direction: column;
  margin: 50px 58px;
} */
.contact #contact_btn {
  flex-direction: column;
  /* margin: 50px 58px; */
  width: 290px;
  margin: 35px auto;
}

button.button_bg_tel, button.button_bg_mail {
  width: 290px;
  height: 80px;
  border: 3px solid #042440;
  color: #042440;
  background-color: #fff;
  font-size: 18px;
  padding: 0;
  border-radius: 0;
  margin: 10px 0;
  font-family: 'Noto Serif JP', serif;
}

button.button_bg_tel:before {
  width: 20px;
  height: 25px;
  background-repeat: no-repeat;
}
button.button_bg_tel:hover:before{
  width: 20px;
  height: 25px;
  background-repeat: no-repeat;
}

button.button_bg_mail:before {
  width: 20px;
  height: 26px;
  background-repeat: no-repeat;
}
button.button_bg_mail:hover:before{
  width: 20px;
  height: 26px;
  background-repeat: no-repeat;
}

button.button_bg_tel span {
  font-size: 14px;
  padding-top: 0;
}



/*―――――――――――――――――――――――――――――――――*/
/*――――――――――――――ラベル―――――――――――――*/
/*―――――――――――――――――――――――――――――――――*/

.label {
  height: 34px;
  font-size: 16px;
  margin: 40px auto 30px;
}

.label p {
  border-left: 2px solid #D0A739;
  margin: 5px 0 0 8px;
  line-height: 24px;
  padding-left: 10px;
}

/* ---------------------------------------------------
ヘッダー
--------------------------------------------------- */
#header_sp {
  grid-area: header_sp;
  background-color: #042440;
}

.header_sp_inner{
  display: flex;
}

/* #header_sp */
a img.name{
  width: 109px;
  height: 33px;
  display: inline-block;
  margin: 15px 20px;
}

/* ヘッダー問い合わせボタン */
.header_sp_inner button.button_sm_mail {
  width: 155px;
  height: 40px;
  font-size: 10px;
  margin: 0px 5px;
}

.header_sp_inner button.button_sm_mail span{
  line-height: 3.8;
}

.header_sp_inner button.button_sm_mail:hover{
  border: 1px solid #D0A739;
}

.header_sp_inner button.button_sm_mail:hover > span{
  border-left: 1px solid #D0A739;
}

.header_sp_inner button.button_sm_mail:before{
  width: 14px;
  height: 14px;
  margin-right: 5px;
}

/*―――――――――――――――――――――――――――――――――*/
/*――――――― ハンバーガーメニュー―――――*/
/*―――――――――――――――――――――――――――――――――*/
.hamburger {
  display: block;
  position: absolute;
  z-index: 101;
  right: 0px;
  top: 0px;
  width: 60px;
  height: 60px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 16px;
  height  : 2px ;
  left    : 20px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 23px;
}
.hamburger span:nth-child(2) {
  top: 30px;
}
.hamburger span:nth-child(3) {
  top: 37px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  width: 30px;
  top : 27px;
  left: 19px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
  height: 3px;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  width: 30px;
  top: 27px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
  height: 3px;
}

/* --ハンバーガーメニューの中身-- */
nav.globalMenuSp {
  position: fixed;
  z-index : -2;
  top  : 0;
  right: 0;
  color: #fff;
  /* background: rgba(29, 29, 29, 0.9); */
  background-color: #042440;
  text-align: center;
  width: 68%;
  height: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp.active{
  position: fixed;
  padding-top: 65px;
  top: 0;
  z-index: 100;
}

nav.globalMenuSp .menu_ber {
  display: initial;
  margin: 0 auto;
  padding: 0;
  padding-top: 15px;
  width: 100%;
}

nav.globalMenuSp .menu_ber{
  list-style-type: none;
  display: block;
  padding: 0;
  width: 90%;
  transition: .4s all;
}

nav.globalMenuSp .menu_ber:last-child {
  padding-bottom: 0;
}

/* nav.globalMenuSp .menu_ber a {
  display: block;
  color: #fff;
  padding: 20px 0;
  text-decoration: none;

} */
/* nav.globalMenuSp .menu_ber a:last-child{
  border-bottom: 1px solid #fff;
} */

/* nav .under_line {
  text-align: left;
  height: 43px;
  line-height: 15px;
  margin-right: 2px;
  border-top: 1px solid #fff;
}

nav .under_line:last-child{
  border-bottom: 1px solid #fff;
}

nav.globalMenuSp .under_line a {
  font-size: 14px;
  vertical-align: text-bottom;
  display: inline-block;
  margin-left: 15px;
  font-family: 'Noto Serif JP';
} */

nav a.under_line {
  text-align: left;
  /* height: 43px; */
  /* line-height: 15px; */
  /* margin-right: 2px; */
  width: 228px;
  line-height: 3.4;
  border-top: 1px solid #fff;
  font-size: 14px;
  vertical-align: text-bottom;
  display: inline-block;
  padding-left: 15px;
  font-family: 'Noto Serif JP', serif;
}
nav a.under_line:last-child{
  border-bottom: 1px solid #fff;
}



/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
}


/* ---------------------------------------------------
メインビジュアル
--------------------------------------------------- */
.mainvisual img{
  width: 100%;
}

/* ---------------------------------------------------
コンタクト(共通部分)
--------------------------------------------------- */
.contact { 
  grid-area: contact; 
  background-image:url(images/Spbg_contact.jpg);
  position: relative;
  background-size: cover;
}

/* ---------------------------------------------------
フッター
--------------------------------------------------- */
#footer_sp { 
  grid-area: footer_sp; 
  background-color: #02182A;
  color: #fff;
  /* text-align: left; */
}
.footer_box {
  flex-direction: column;
  margin-top: 50px;
}

.footer_right, .footer_left {
  width: 300px;
  margin: 0 auto;
  text-align: center;
}

.footer_right {
  height: 370px;
}

.footer_left{
  height: 315px;
}

.footer_right .menu {
    width: 300px;
    height: 40px;
}

.footer_left .name {
  margin: 0 auto;
  width: 180px;
  height: 55px;
}

.footer_left .address {
  text-align: center;
}



#footer_sp .menu_name {
  font-family: "Meiryo","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka",sans-serif;
  font-size: 14px;
  margin: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 45px;
  border-top:0.5px solid #fff ;
  position: relative;
  padding-left: 8px;
}

#footer_sp .menu_last{
  font-family: "Meiryo","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka",sans-serif;
  font-size: 14px;
  margin: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 45px;
  border-top:0.5px solid #fff ;
  border-bottom:0.5px solid #fff ;
  position: relative;
  padding-left: 8px;
}

.footer_line_arrow:before {
  width: 16px;
  transform: translate(30px, 0px);
}

.footer_line_arrow:after {
  width: 10px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(40deg);
  transition: .2s all;
}

.footer_line_arrow:before, .footer_line_arrow:after {
    content: '';
    display: block;
    position: absolute;
    top: 25px;
    right: 50px;
    height: 1px;
    background: #D0A739;
}

p.footer_officsname {
  font-size: 9px;
  margin-top: 40px;
}
}