/*
@font-face {
    font-family: minmoji;
    src: url('https://minmoji.ucda.jp/fontseot/http%3A__kiiz.jp_');
    src: local('minmoji'),
        url('https://minmoji.ucda.jp/fontswoff/http%3A__kiiz.jp_') format('woff'),
        url('https://minmoji.ucda.jp/fonts/http%3A__kiiz.jp_') format('opentype');
}
*/


body {
    font-family: "a-otf-ud-shin-maru-go-pr6n"/* minmoji*/;
    background: rgba(254,254,254,.98);
    color: rgba(0,0,0,.97) ;
}
h1, h2, h3 {
  font-family: /*"a-otf-ryumin-pr6n"*/;
}

.page article.main-contents h2 {
  position: relative;
  display: inline-block;
  margin: 1em 0 1.5em;
  padding: 15px 10px 15px 20px;
  min-width: 100%;
  color: #3f4244;
  font-size: 22px;
  background: rgba(85,100,125,.5);
}
.page article.main-contents h2:first-of-type {
  margin: 0 0 1.5em;
}

.page article.main-contents h2:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 10%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid rgba(85,100,125,.5);
}

.page #sidebar01 h3 {
  background: rgba(85,100,125,1);
  color: #fff;
  margin: 0;
  padding: 13px 10px 13px 20px;
  font-size: 18px;
  transform: .3s;
}
.page #sidebar01 a:hover h3 {
  background: rgba(85,100,125,.7);
  color: #fff;
}

.page #sidebar02 {
  background: url(../img/bg_kozoshiki01.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}
#introduction.page #sidebar02 {
  background: url(../img/bg_kozoshiki01.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}
#business.page #sidebar02 {
  background: url(../img/sidebar2-bg05.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}
#case.page #sidebar02 {
  background: url(../img/sidebar2-bg04.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}
#contact.page #sidebar02 {
  background: url(../img/bg_kozoshiki01.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}
#access.page #sidebar02 {
  background: url(../img/sidebar2-bg03.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}
#price.page #sidebar02 {
  background: url(../img/sidebar2-bg02.jpg) no-repeat right;
  background-attachment: fixed;
  background-size: contain;
}

.page #sidebar01 figure {
  margin: 0 0 0 ;
}

body.page a img:hover {opacity: .7;}

@media (min-width: 1261px){body > a > img { position: absolute; top: 5px; right: 5px; z-index: 99999; opacity: .6; height: 40px; width: auto; -webkit-filter: grayscale(100%); filter: grayscale(100%); }}
@media (max-width: 1260px){body > a > img { position: fixed; bottom: 0; right: 0; z-index: 99999; opacity: .6; height: 50px; width: auto; -webkit-filter: grayscale(100%); filter: grayscale(100%); }}
body > a > img:hover {opacity: 1; transform: scale(1.2);}

main {
	margin-top: 50px;
}
section {
	padding: 1.5rem 0 2rem;
}

main img, section img {
  max-width: 100%;
  height: auto;
}

.btn {
    border-radius: 1.5rem;
}
.btn-group-sm>.btn, .btn-sm {
    padding: .25rem .75rem;
    border-radius: 1rem;
}
.btn-tertiary {
  color: #fff;
  background-color: #1b1464;
  background-image: none;
  border-color: #1b1464;
}
.btn-tertiary:hover {
  color: #1b1464;
  background-color: #fff;
  border-color: #1b1464;
}
.btn-tertiary:focus, #menu-wrap .btn-outline-tertiary.focus {
  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);
}
.btn-outline-tertiary {
  color: #1b1464;
  background-color: transparent;
  background-image: none;
  border-color: #1b1464;
}
.btn-outline-tertiary:hover {
  color: #fff;
  background-color: #1b1464;
  border-color: #1b1464;
}
.btn-outline-tertiary:focus, #menu-wrap .btn-outline-tertiary.focus {
  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);
}

/* へッダーナビゲーション
===============================*/
#menu-wrap {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  transition: .3s;
}
#menu-wrap.navbar {
    padding: 0 1rem;
    border-bottom: 1px solid rgba(0,0,0,.1);
}
#menu-wrap.navbar-light .navbar-toggler {
    color: rgba(0,0,0,.5);
    border-color: rgba(0,0,0,0);
}
#menu-wrap.navbar-dark .navbar-toggler {
    color: rgba(255,255,255,.5);
    border-color: rgba(255,255,255,0);
}
#menu-wrap .navbar-toggler:focus, #menu-wrap .navbar-toggler:hover {
    text-decoration: none;
    outline: none;
}
#menu-wrap.bg-light {
    background-color: rgba(254,254,254,.98)!important;
}
#menu-wrap .navbar-nav .nav-item {
  font-size: 14px;
}
#menu-wrap.navbar-expand-lg .navbar-nav .nav-link {
    height: 50px;
    padding-top: 14px;
    margin-right:  .75rem;
    margin-left:  .75rem;
    padding-right: .25rem;
    padding-left: .25rem;
    transition: all 300ms 0s ease;
}
@media (min-width: 768px) and (max-width: 1200px){
	#menu-wrap .navbar-nav .nav-item {
		font-size: 11px;
	}
	#menu-wrap.navbar-expand-lg .navbar-nav .nav-link {
	  height: 50px;
    padding-top: 18px;
		margin-right:  .25rem;
		margin-left:  .25rem;
    padding-right: .25rem;
    padding-left: .25rem;
    transition: all 300ms 0s ease;
	}
}

#menu-wrap .navbar-nav .nav-link {
    color: rgba(0,0,0,.7);
}
#menu-wrap .navbar-nav .nav-link:hover {
    border-bottom: 3px solid #1b1464;
    color: rgba(0,0,0,.98);
}

#menu-wrap #logo {
	display: block;
	height: 40px;
}
#menu-wrap #panel-btn{
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
}
@media (min-width: 768px){
	#menu-wrap #panel-btn{
  	display: none;
	}	
}
#menu-wrap #panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: rgba(0,0,0,.3);
  transition: .2s;
}
#menu-wrap #panel-btn-icon:before, #menu-wrap #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: rgba(0,0,0,.3);
  transition: .3s;
}
#menu-wrap #panel-btn-icon:before{
  margin-top: -6px;
}
#menu-wrap #panel-btn-icon:after{
  margin-top: 4px;
}
#menu-wrap #panel-btn .close{
  background: transparent;
}
#menu-wrap #panel-btn .close:before, #menu-wrap #panel-btn .close:after{
  margin-top: 0;
}
#menu-wrap #panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#menu-wrap #panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.header-searcharea {
  position: relative;
  display: inline-block;
  background: rgba(0,0,0,.1);
  height: 40px;
  left: 10px;
}
@media (min-width: 768px) and (max-width: 1200px){
  .header-searcharea {
    width: 200px
  }  
}
.header-searcharea:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px;
  margin-top: -8px;
  border: 8px solid transparent;
  border-right: 8px solid rgba(0,0,0,.1);
}
.header-searcharea input {
  outline: 0px solid;
  border: 0px solid;
  background: rgba(0,0,0,0);
  position: relative;
  top: 0;
}
.search-submitbtn {
  display: inline-block;
  width: 38px;
  height: 38px;
  position: relative;
  right: -10px;
  font-size: 20px;
  color: #666;
  font-family: "Ionicons";
}
.search-submitbtn:hover {
  cursor: pointer;
  color: #1b1464;
}

/* インデックスページ
===============================*/
#title-wrap {
	padding: 0;
  /*border-bottom: 3px solid #333;*/
}
@media (min-width: 992px){
	#title-wrap .swiper-slide .container-fluid {
      padding: 0;
  		height: 75%;
	}
  .swiper-text img {
    padding-top: 20%;
    padding-bottom: 20%;
  }
	#title-wrap #title-wrap-description {
		width: 420px;
	}
}

.info .thumbnail-wrap {
  display: block;
  margin: 0 auto 10px;
  padding-bottom: 5px;
  width: 270px;
  max-width: 270px;
  height: 150px;
  overflow: hidden;
  vertical-align: middle;
}

.info .thumbnail-wrap img {
  transition: transform .3s ease, opacity .3s ease;
  width: 100%;
  height: auto;
}
.info  .thumbnail-wrap img:hover {
  transform: scale(1.05);
}

/* 共通
===============================*/
.home section .section-title {
  padding: 2rem 0 1rem;
}

.page-single section .section-title {
  padding: 2rem 0 1rem;
}
.page-single section .page-title {
	padding: 1rem 0 2rem;
	text-align: center;
}
@media (min-width: 992px){
	.page-single section h1.page-title:before {
		content: "";
		display: block;
		width: 0.4%;
		height: 60px;
		background: rgba(0,0,0,.98);
		/*border-bottom: 5px solid #333;*/
		margin-left: 49.6%;
		margin-bottom: 2rem;
	}
}
section .page-description {
	padding: 0;
	text-align: center;
}

.article-list .article-title {
  font-size: 1.2rem;
  font-weight: bold;
}
.article-list .thumbnail-wrap {
  display: block;
  margin: 0 auto 10px;
  padding-bottom: 5px;
  width: 100%;
  max-width: 250px;
  height: 110px;
  overflow: hidden;
  vertical-align: middle;
}
.article-list article .thumbnail-wrap img {
  transition: transform .3s ease, opacity .3s ease;
}
.article-list article:hover .thumbnail-wrap img {
  transform: scale(1.05);
}
.article-list article .content-wrap {
  /*border-bottom: 3px solid #fff;*/
  display: block;
  margin: 0 auto 3rem ;
  width: 100%;
  max-width: 250px;
  transition: transform .3s ease, opacity .3s ease;
}
@media (max-width: 767px){
  .article-list .content-wrap {
    margin: 0 auto 3rem ;
  }
}
.article-list article:hover .content-wrap {
  /*border-bottom: 3px solid #000; */ 
}
.article-list article a {
  color: rgba(0,0,0,.98);
}
.article-list article a:hover {
  text-decoration: none;
}

footer {
  border-top: 1px solid #ccc;
  /*margin-top: 20px;*/
  padding-top: 50px;
  background: #000;
  color: #fff;
}
footer section, footer .container {
  margin-bottom: 0;
  padding-bottom: 0;
}
footer .navbar-nav .nav-link {
  padding: 0 15px;
  margin: .5rem 0;
  border-right: 1px solid #ccc;
}
footer .navbar-nav li:first-child .nav-link {
  border-left: 1px solid #ccc;
}
footer .navbar-nav a.nav-link {
  color: #fff;
  font-size: 12px;
}

/* フォームパーツ
==============================*/
form input, form select, form textarea {
	margin-bottom: 10px;
}
form .form-control {
  border-radius: 0;
  -webkit-appearance: none;
}
form .input_btn_off {
  opacity: .7;
}
form .input_btn_on {
	opacity: 1.0;
}
form .input_btn_on input:hover {
	cursor: pointer;
}
#btn_submit {
  margin-top: 30px;
}
.btn-cv {
  cursor: pointer;
}
.btn-cv h3 {
  padding: 2rem 0 1.5rem;
}
.btn-cv h3:after {
  font-family: ionicons;
  font-size: 30px;
  content: "\f3d1";
  display: block;
  float: right;
}

.breadcrumb {
  background-color: #efefef;
}
.breadcrumb a {
  color: #000;
}
.breadcrumb-item+.breadcrumb-item::before {
    content: ">";
}

.page article > p, .page article > ol, .page article > ul {
  color: #333;
  margin: 0 10px 1.5em 40px;
}
.page article > h3 {
  margin: 0 10px .75em 40px;
  font-size: 20px;
}
.page article > ol > li, .page article > ul > li, .page article > dl {
  margin: 0 40px .5em 0 ;
  font-size: 14px;
}

/* Swiper Slider関連CSS
==============================*/
.swiper-button-prev {
    background-image: url(../img/slide-prev.svg);
}
.swiper-button-next {
    background-image: url(../img/slide-next.svg);
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #fff;
}

#part1-1 {
  background: #1b1464;
}
#part1-1 a img {
  opacity: .9;
  transition: transform .3s ease, opacity .3s ease;
}  
#part1-1 a img:hover {
  opacity: 1;
}  

/* 訴訟タブ関連CSS
==============================*/
#part1-2 {
  background: #f2f2f2;
}
#myTab.nav-tabs {
    border-bottom: 1px solid #1b1464;
}
#myTab .nav-link {
    display: block;
    padding: .5rem 2rem;
}
#myTab.nav-tabs .nav-link {
    border: 1px solid rgba(27,20,100,.3);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    color: #1b1464;
}
#myTab.nav-tabs .nav-link:hover {
  background: #fff;
  border-color: #1b1464 #1b1464 #fff;  
}
#myTab.nav-tabs .nav-item.show .nav-link, #myTab.nav-tabs .nav-link.active {
    color: #fff;
    background-color: #1b1464;
    border-color: #1b1464 #1b1464 #1b1464;
}

/* タイプライター風関連CSS
==============================*/
.ityped-cursor {
  font-size: 2.2rem;
  opacity: 1;
  -webkit-animation: blink 0.3s infinite;
  -moz-animation: blink 0.3s infinite;
  animation: blink 0.3s infinite;
  animation-direction: alternate;
}
@keyframes blink {
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes blink {
  100% {
    opacity: 0;
  }
}
@-moz-keyframes blink {
  100% {
    opacity: 0;
  }
}

/* レスポンシブ強制クラス
==============================*/
@media(max-width: 767px){
	.pc {
		display: none;
	}
}
@media(min-width: 768px){
	.sp {
		display: none;
	}
}
