@charset "utf-8";
/* CSS Document */

@font-face{
	font-family: 'Noto Sans JP';
	font-style:normal;
	font-weight: 400;
	src:
	local("Noto Sans CJK JP"),	url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
	
}

html{
	font-size:62.5%;/*16px×62.5％＝10px*/
    overflow: auto;
}
body{
	color: #333;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	font-feature-settings: "palt";
	letter-spacing: 0.055em;
    text-align: justify;
    text-justify: inter-ideograph;
    overflow: hidden;
	min-width: 830px;
}
/*スマホでは消す*/
    .pc-dN{
	display:none!important;
}


/*ふわっと表示*/
.effect-fade_top01{
    opacity: 0;transform: translate(0, 80px);
    animation: fadein 0.9s ease forwards;
}
@keyframes fadein {
    100% {  
        transform: translate(0, 0);
        opacity: 1;}
}
 
/*以下遅延の指定*/
.top01 {animation-delay: 0.9s;}
.top02 {animation-delay: 1.3s;}
.top03 {animation-delay: 1.7s;}
.top04 {animation-delay: 2.1s;}
.top05 {animation-delay: 2.5s;}


.effect-fade{
    opacity: 0;
    transform: translate(0, 80px);
    transition: all 0.9s;
}
.effect-fade.effect-scroll{
    opacity: 1;
    transform: translate(0, 0);
}


img{
	max-width: 100%;
	height: auto;
}
.header{
    position: fixed;
    width: 100%;
    background: linear-gradient(180deg,#fff 0%,#fff 90px,#0D76E2 90px,#0D76E2 100%);
    z-index: 1;
}
.wrapper{
    max-width: 1140px;
    margin: 0 auto;
    padding-top: 10px;
}
.text-center{
	text-align: center;
    margin-bottom: 30px;
}
.btn-trigger{
    display: none;
}
a.anchor{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}
h1{
    font-family: 'Noto Serif JP', serif;
    font-size: 40px;
    font-weight: bold;
    color: #2391F1;
    letter-spacing: 0.08em;
}
.header-inner{
    display: flex;
    justify-content: space-around;
    width: 100%;
    align-items: center;
}
.header-tel{
    display: flex;
    position: relative;
    align-items: center;
}
.header-tel p:first-of-type{
    background-color: #2391F1;
    color: #fff;
    font-size: 12px;
    padding: 5px;
    border-radius: 10px;
}

.header-inner > div > p{
    font-size: 13px;
}
.tel__num{
    
	display: flex;
    align-items: center;
	justify-content: center;
    font-size: 40px;
	font-weight: bold;
    color: #2391F1 !important;
    margin: 10px;
}
.tel__num:before {
    display: inline-block;
    transform: scaleX(-1);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f095";
	font-size: 30px;
	margin-right: 8px;
    margin-top: 1px;
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
.nav-list{
    display: flex;
    justify-content: center;
    padding: 5px 0;
    font-size: 14px;
}
.nav-list a{
    color: #fff;
    letter-spacing: 0.15em;
    transition: all 0.3s ease 0s;
}
.nav-list a:hover{
    color: #82C2F7;
    
}
.nav-item{
    margin-right: 30px;
}
.nav-item:last-of-type{
    margin-right: 0px;
}
.hero-image{
    position: relative;
	background:url(../images/topimg.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
	width: 100%;
	height: 500px;
}

/*ごあいさつ*/
.hero-image00{
    display: flex;
    color: #fff;
    padding-top: 200px;
    justify-content: space-around;
}
.hero-image00 p:first-of-type{
    font-family: 'Noto Serif JP', serif;
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 0.08em;
}
.hero-image00 p:nth-of-type(2){
    font-family: 'Noto Serif JP', serif;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.08em;
    line-height: 1.8;
    margin-top: 30px;
}
.hero-image00 img{
    width: 550px;
}
.hero-image01{
    position: relative;
	background:url(../images/main.jpg) no-repeat;
    background-position:center;
    background-size: cover;
	width: 100%;
	height: 420px;
}
.hero-image01 p:first-of-type{
    font-size: 23px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 20px 0 20px 0;
    text-shadow:0 0 7px #fff;
}
.hero-image01 p:nth-of-type(2){
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.08em;
    line-height: 1.8;
    width: 98%;
    text-shadow:0 0 7px #fff;
}
.hero-image01 div{
    position: absolute;
    left: 40%;
}

/*経歴*/
h3{
    color: #2391F1;
    font-size: 20px;
    font-weight: 500;
    border-bottom: solid 5px #2391F1;
    position: relative;
    display: inline-block;/*線の長さを文字の幅のに合わせる*/
    padding: 10px 0px;
    align-items: center;
}

h3:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 5px #0D76E2;
    bottom: -5px;
    width: 50%;
}
h3 span{
    color: #2391F1;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;bottom: 13px;
    margin-left: 20px;
}
.parag{
    display: flex;
    position: relative;
    align-items: center;
    margin-left: 25%;
    padding-bottom: 30px;
}
.headline{
    width: 200px;
}
.career01{
    width: 100px;
    margin: 80px 30px 30px 30px;
}
.timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
    width: 800px;
    
  }
.timeline-date {
    font-size: 15px;
    font-weight: 500;
    width: 150px;
    float: left;
    margin: 20px 0;
      
  }
.timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #2391F1 solid;
    padding-left: 30px;
  }
.timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #0D76E2;
    position: absolute;
    border-radius: 100%;
    left: 145px;
    margin: 20px 0;
  }
.timeline h5{
    font-size: 15px;
    font-weight: bold;
    margin: 20px 0;
}

/*所属*/
.section01{
    position: relative;
	background:url(../images/section01.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
	width: 100%;
    height: auto;
}
.headline_w{
    width: 200px;
}
.headline_w h3{
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    border-bottom: solid 5px #fff;
    position: relative;
    display: inline-block;/*線の長さを文字の幅のに合わせる*/
    padding: 10px 0px;
    align-items: center;
}
.headline_w h3 span{
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;bottom: 13px;
    margin-left: 20px;
}
.member_txt{
    margin: 30px 0 0 30px;
    color: #fff;
    font-size: 15px;
}
.member_txt p{
    margin-bottom: 20px;
    line-height: 1.3;
    
}

/*業務内容*/
.work_txt{
    margin: 30px;
    color: #000;
    margin-bottom: 20px;
    line-height: 1.5;
    font-size: 15px;
}
.work_txt p{
    margin-bottom: 15px;
}


/*事務所*/
.section02{
    position: relative;
	background:url(../images/section02.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
	width: 100%;
    height: auto;
}
.info{
    text-align: left;
    line-height: 1.5;
}

.info td {
    width: 500px;
    padding: 5px 20px;
}
.info th {
    width: 100px;
}
.info img {
    width: 210px;
    margin-bottom: 2px;
}

/*アクセス*/
.google-maps {
    position: relative;
/*    padding-bottom: 25%;*/
    height: 350px;
    overflow: hidden;
    margin: 30px 0 0 0;
}
.google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    /*height: 100% !important;*/
}
.access{
    margin-top: 30px;
}

/*フッター*/
.footer{
    padding-bottom: 30px;
}
.footer p:first-of-type{
    font-size: 13px;
}
.footer_txt{
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
}
.copyrights{
    font-size: 13px;
    color: #2391F1;
    margin-top: 20px;
    padding-bottom: 30px;
}
hr{
    width: 50%;
    margin-top: 20px;
    position: relative;
	height: 3px;
	border-width: 0;
	background-color: #2391F1;
	background-image: -webkit-linear-gradient(left,
	#2391F1 0%,#0D76E2 100%);
	background-image:         linear-gradient(90deg,
	#2391F1 0%,#0D76E2 100%);
}
#page_top{
    width: 40px;
    height: 40px;
    position: fixed;
    right: 10px;
    bottom: 1px;
    opacity: 1;
    z-index: 1;
}
#page_top a{
/*    position: relative;*/
    display: block;
    width: 55px;
    height: 80px;
    text-decoration: none;
}
#page_top a::after{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f139';
    font-size: 25px;
    color: #7FD8FF;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -25px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    text-align: center;
}

/* タブレットだけに適用するCSSCSS */
@media only screen and (max-width:1050px){
    
    /*タブレットでは消す*/
    .tb-dN{
	display:none !important;
}
    /*タブレットでは出す*/
    .pc-dN{
	display:block!important;
}
    h1{
    font-size: calc(1.5rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
}
    .hero-image00 p:first-of-type{
    line-height: 1.3;
}
    .hero-image00 img{
    width: 50%;
}
    .tel__num{
    font-size: calc(3.0rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
}
    .tel__num:before {
	font-size: calc(2.5rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
}

.hero-image01 div{
    left: 25%;
}
    
    
}
/* スマホだけに適用するCSS */
@media only screen and (max-width:640px){

    /*スマホでは消す*/
    .sp-dN{
	display:block!important;
}
    .pc-dN{
	display:block!important;
}
    body{
	width:100%;
	min-width:380px;
	height:100%;
	background-color: #fff;
}
    .header{
        background: linear-gradient(180deg,#fff 0%,#fff 150px,#0D76E2 90px,#0D76E2 100%);
}
    a.anchor{
    display: block;
    padding-top: 150px;
    margin-top: -150px;
}
    img{
	width:100%;
	height:auto;
}
    .wrapper{
        margin: 0 20px;
        padding-top: 5px;
}
    h1{
        font-size: 30px;
         text-align: center;
}
    .header-inner{
        display: block;
        margin: 0 -20px 0 0;
}
.header-tel{
        display: block;
}
.header-tel p:first-of-type{
        text-align: center;
        margin: 0 20px;
}

.header-inner > div > p{
        font-size: 13px;
        margin: 0 20px;
        line-height: 1.3;
}
.tel__num{
        font-size: 40px;
        margin: 3px;

}
.tel__num:before {
        margin-top: 1px;
        font-size: 30px;
}
    .nav-list{
        justify-content: space-between;
        padding: 5px 0;
        margin: 0 20px;
}
   .nav-item{
        margin-right: 0px;
} 
   
    h3{
    margin-top: 30px;
}
.hero-image{
    background-position: right -450px bottom -40px;
}
    /*ごあいさつ*/
.hero-image00{
    display: block;
    padding-top: 200px;

}
.hero-image00 p:first-of-type{
        text-align: center;
}
.hero-image00 p:nth-of-type(2){
        margin-top: 10px;
        text-align: center;
}
.hero-image00 img{
    width: 550px;
}
.hero-image01{
        background:url(../images/main.jpg) no-repeat;
        background-size: cover;
        background-position: 20%;
        width: 100%;
        height: 300px;
        margin-bottom: 520px
}
.hero-image01 p:first-of-type{
    padding: 160px 0 20px 0;
}
.hero-image01 p:nth-of-type(2){
        width: 100%;
}


.hero-image01 div{
        right: 0px;
    left: 0px;
        padding-top: 160px;
}
.parag{
        display: block;
        width: 100%;
        margin-left: 0%;
}
.headline{
        width: 100%;
        text-align: center;
}
.career01{
        width: 100%;
        margin: 20px 0 0 0;
}
.timeline > li {
        width: 360px;
  }
.timeline-date {
        margin: 0px 0;
        margin-left: 40px;
      
  }
.timeline-content {
        margin-left: 20px;
  }
.timeline-content:before {
        left: 15px;
        margin: -13px 0;
  }
    
    /*所属*/
.headline_w{
        width: 100%;
        text-align: center;
}
.headline_w h3{
        margin-top: 20px;
}

.member_txt{
        margin: 30px 30px 0 30px;
}

    /*事務所*/
    .info th {
    width: 200px;
}
    .info img {
    margin-bottom: 3px;
}
    
    /*アクセス*/
.google-maps {
    margin: 0 0 0 0;
}
    .access{
    margin-top: 0px;
}
    
    /*フッター*/
.footer{
        padding-bottom: 10px;
}
.footer p:first-of-type{
        margin: 5px 20px;
        line-height: 1.3;
}
    .copyrights{
        font-size: 11px;
}
hr{
        width: 360px;
}
}


/*2023/11/14 overwrite from tokiyori*/

.wakamatsu_bnrUnit{
    width: 20%;
    margin : 0 auto;
}

.wakamatsu_bnrUnit a{
    display: block;
    width: 100%;
    transition: .3s;
}

.wakamatsu_bnrUnit a:hover{
    opacity: 0.7;
    transition: .3s;
}

.wakamatsu_bnrUnit img{
    width: 100%;
    max-width: 100%;
}

    /*メディアクエリ*/
@media screen and (max-width: 430px){
    .wakamatsu_bnrUnit{
        width: 50%;
    }

    .wakamatsu_bnrUnit a{
        display: block;
        width: 100%;
    }

    .wakamatsu_bnrUnit img{
        width: 100%;
        max-width: 100%;
    }

}

