/* Theme Name: 内外エンジニア　コーポレートサイト NEW*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import "css/print.css" print;
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h3,
h4,
h5,
h6,
form,
input,
textarea,
button,
option,
code,
select,
p {
	margin: 0px;
	padding: 0px;
	font-size: 16px;
	line-height: 180%;
	color:#333333;
	font-weight: 400;
    font-family:"Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro",Hiragino Kaku Gothic ProN,"游ゴシック",YuGothic,"メイリオ",Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    font-feature-settings: "palt";
}
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}
/*クリアフィックス*/

.clearfix:after {
	content: "";
	display: block;
	clear: both;
	margin-left: 0;
	text-align: center;
}

.clearfix:before {
	display: block;
	content: "";
	font-size: 14px;
	clear: both;
}

.clearfix {
	display: block;
	margin: 0 auto;
}

.clear {
	clear: both;
}


.fead-mv {
	opacity: 0;
	transition: 0.6s;
	transition-timing-function:ease-in;
	
}
.mv {
	opacity: 1;	
}

a {
	color: #333333;
    text-decoration: none;
}

ul {
	list-style: none;
}

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexl {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: justify;
	justify-content: flex-start;
}
.flexc {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
}
.flexs {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.flexb {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flext {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: justify;
	justify-content: flex-start;
}
.rpic{
	flex-direction:row-reverse;
}
a[href*="tel:"] {
	pointer-events: none;
}
#wrapper{
    max-width: 100%;
    min-width: 1100px;
}
#footer,.footer{
    position: relative;
    background:#44a0db;
    margin-top: calc(100vw * 90 / 1812.67);
    padding: 90px 0 20px 0;
}
.footer_wave{
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0;
    width: 100%;
    aspect-ratio: 1812.67 / 90;
    line-height: 0;
}
.footer_wave img,
.footer_wave svg path {
    fill: #44a0db;
}
.footer_wave img{
    width: 100%;
    height: auto;
    display: block;
}
.foot_cont{
    max-width: 1500px;
    margin: 0 auto;
    border-bottom: 1px solid #fff;
    padding: 0 0 40px 0;
    width: 95%;
}
.foot_cont .foot_info{
    width: 30%;
    padding: 0 0 20px 0;
}

.foot_cont .wrap{
    background: #fff;
    border-radius: 20px;
    box-sizing: border-box;
    padding:50px 5%;
}
.foot_cont .foot_info h3{
    padding: 0 0 20px 0;
}
.foot_cont .foot_info dd{
    font-size: 20px;
}
.foot_cont .foot_info dt{
    font-weight: 700;
    font-size: 20px;
}
.foot_cont .foot_nav{
    width: 65%;

}
.foot_cont .foot_nav dt{
    font-size: 20px;
    padding: 0 0 10px 0;
}
.foot_cont .foot_nav dt a{
    color: #fff;
    font-weight: 500;
}
.foot_cont .foot_nav dd{
    font-size: 20px;
    padding: 0 0 10px 0;
}
.foot_cont .foot_nav dd a:before{
    content: "-";
    color: #fff;
    margin-right: 0.5em;
}
.foot_cont .foot_nav dd a{
    color: #fff;
}

.foot_cont .foot_nav dl,.foot_cont .foot_nav dl+ul{
    padding: 0 6% 0 0;
}

.foot_cont .foot_nav li{
    font-size: 20px;
    padding: 0 0 10px 0;
}
.foot_cont .foot_nav li a{
    color: #fff;
    font-weight: 500;
}
.foot_copy{
    max-width: 1500px;
    margin: 0 auto;
    padding: 30px 0 0 0;
    width: 95%;
}
.foot_copy .copy{
    color: #fff;
    padding: 0 0 20px 0;
}
.foot_copy ul{
    text-align: right;
    padding: 0 0 20px 0;
}
.foot_copy ul li{
    display: inline-block;
    text-align: left;
    padding: 0 0 0 1.5em;
}
.foot_copy ul li a{
    display: inline-block;
    position: relative;
    padding: 0 0 0 1.4em;
    color: #fff;
}
.foot_copy ul li a:before{
    content: "";
    width: 10px;
    height: 16px;
    background: url(images/arrow1.png) 0 0 no-repeat;
    position: absolute;
    top: 6px;
    left: 0;


}
#footer a:hover,.footer a:hover{
    opacity: 0.7;
}
#header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    min-width: 1100px;

}
#footer .youtube,.footer .youtube{
    text-align: right;
    padding: 20px 0 0;
}
#footer .youtube a,.footer .youtube a{
    background: #fff;
    display: inline-block;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 5px;
}
#footer .youtube a img,.footer .youtube a img{
    vertical-align: middle;
    transform: translateY(-1px);
}
#header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    transition: opacity 0.8s ease-out;
    z-index: -1;
}
#header.tabactive::before {
    opacity: 1;
    transition-duration: 0s;
    transition: opacity 0.8s ease-in;
}
#header.head_cs::before {
    opacity: 1;
    transition-duration: 0s;
    transition: opacity 0.2s ease-in;
    background-color: #fff; /* Example background color */
}
.mav{
    position: relative;
    width: 100%;
    height: 100vh;
    
}
.mav .txt{
    position: absolute;
    max-width: 40%;
    top:16%;
    left: 8%;
}
.mav .txt .mvt{
    display:block;
}

.mav .video{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(images/top_img.jpg)  center 50% repeat;
    background-size: cover;
}
.mav .video video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.home_about .wav_bk{
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    z-index: 5;
    
}
.home_about .wav_bk img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
.mav .wav1{
    position: absolute;
    bottom: 4%;
    left: 0;
    right: 0;
    
}
.mv_news{
    position: absolute;
    top: -40%;
    left: 40%;
    right: 2%;
    z-index: 10;
    background: rgba(255,255,255,0.6);
    transform:translateX(0);
    transition-duration: 0.8s;
    z-index: 100;
}
.mv_news.news_mv{
    transform:translateX(120%);
    opacity: 0;
}
.mv_news .wrap{

    padding: 10px 0 4px 0;
}
.mv_news li {
    margin: 0 20px;
}
.mv_news li .flexb{
    align-items: center;
}
.mv_news li .flexb p{
    font-size: 18px;
}
.mv_news li .flexb p .btn{
    display: inline-block;
    margin: 0 0 0 0.5em;
    padding: 0 0.5em;
    color: #0054b6;
    background: #fff;
    border: 1px solid #0054b6;
    border-radius: 3px;
    font-size: 14px;
    line-height: 1.6;
}
.mv_news li .flexb:hover p .btn{
    background: #0054b6;
    color: #fff;
}

.mv_news li .flexb p .ct{
    display: block;
}
.mv_news li .flexb p .ct .cc{
    display: inline-block;
    background: #0054b6;
    color: #fff;
    font-size: 12px;
    padding: 2px 0.5em 4px 0.5em;
    line-height: 1.3;
    margin: 0 0 5px 0;
}
.mv_news li .pic{
    width: 200px;
}
.mv_news li .newstxt{
    width: calc(100% - 220px);
}
.gnav .contactnav{
    padding: 0;
    margin: 0;
}
.mv_news .slick-dots {
    text-align: right;
    padding-top: 5px;
    padding-right: 20px;

}
.mv_news .slick-dots li{
    display: none;
}
.mv_news .slick-dots li.slick-active {
    display: inline-block;
    color: #0099d9;
    pointer-events: none;
}
.mv_news .slick-prev {
    bottom: calc(100% + 8px);
    left:20px;
    background: url(images/news_prev.png) 0 0 no-repeat !important;
}
.mv_news .slick-prev:hover{
    background: url(images/news_prev.png) 0 0 no-repeat;
}
.mv_news .slick-next {
    right: auto;
    left: 50px;
    bottom: calc(100% + 8px);
    background: url(images/new_next.png) 0 0 no-repeat !important;
}
.mv_news .slick-next:hover {
    background: url(images/new_next.png) 0 0 no-repeat;
}
.mv_news .slick-arrow {
    bottom: -28px;
    top: auto;
    width: 10px;
    height: 18px;
    text-indent: -9999px;
    position: absolute;
    cursor: pointer;
    border: none;
    z-index: 1;
    opacity: 1;
}
.mv_news .slick-arrow:hover{
    opacity: 0.7;
}
.gnav .contactnav a{
    background:#44a0db;
    color: #fff;
    padding: 26px 20px;
    display: block;
    font-weight: 500;
    border: 1px solid #44a0db;
    box-sizing: border-box;
}
.gnav .contactnav a:after{
    display: none;
}
.gnav .contactnav a:hover{
    background: #fff;
    color: #44a0db;
}
.gnav li a{
    font-size: 20px;
    font-weight: 700;
    display: block;
    padding-bottom: 10px;
    position: relative;
    text-align: center;
}
.gnav li a:after{
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #44a0db;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    transition: all 0.3s;
    transform: scale(0, 1);
    transform-origin: left;
    z-index: 1;
}
.gnav li a:hover::after,.gnav li.tab:hover a::after {
    transform: scale(1, 1);
}
.gnav li.tab:hover .wrap a::after {
    transform: scale(0, 1);
}
.gnav li.tab:hover .wrap a:hover:after {
    transform: scale(1, 1);
}
.gnav li a .e{
    display: block;
    font-size: 16px;
    font-family: "Roboto", sans-serif;
    color: #0054b6;
    font-weight: 500;
    text-align: center;
    line-height: 1.1;
    height: 1em;
    transform: translateY(-0.5em);
}
.gnav li a .e2{
    transform: translateY(-1em);
}
.gnav li{
    padding: 23px 0 12px 0;
    margin: 0 18px;
    line-height: 180%;
}

.gnav li a{
    z-index: 1;
}
.gnav li.tab .wrap{
    width: 100vw;
    height: auto;
    position:absolute;
    left: 0;
    right: 0;
    top: 100%;
    opacity: 0;
    transition: opacity 0.1s ease-out; /* マウスアウト時の速度を遅くする */
    transition-delay: 0.2s;
    pointer-events: none;
}

.gnav li.tab .wrap:before{
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #fff;
    opacity: 0;
    
    transition-duration: 0.3s;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img{
    height: auto;
}

.gnav li.tab .tit{
    padding: 40px 0 30px 0;
}
.gnav li.tab .tit a:after{
    bottom: -8px;
}
.gnav li.tab .tit a:before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background: url(images/more.png) center calc(50% - 3px) no-repeat #0099d9;
    box-sizing: border-box;
    border: 1px solid #0099d9;
    position: absolute;
    top: 0;
    left: 0;
}
.gnav li.tab .wrap li a{
    font-size: 16px;
    padding-right: 25px;
    padding-top: 5px;
}
.gnav li.tab .wrap li a:before{
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background: url(images/hb_arrow.png) center calc(50% - 2px) no-repeat #0099d9;
    position: absolute;
    right: 0;
    border: 1px solid #0099d9;
    box-sizing: border-box;
    top: 50%;
    transform: translateY(-50%);
}
.gnav li.tab .wrap li{
    padding-bottom: 20px;
}
.gnav li.tab .tit a{
    display: inline-block;
    padding: 5px 0 5px 50px;
}

.gnav li.tab:hover .wrap{
    display: block;
    z-index: 5;
    pointer-events: all;
    
}
#header .logo{
    padding: 20px 0 0 3%;
    width: 25%;
}
#header .logo img{
    width: 100%;
}
#header .search{
    position: relative;
    min-width: 200px;
    max-width: 220px;
    
}
#header .search input{
    border-radius: 100vh;
    border: 1px solid #44a0db;
    padding: 8px 20px 8px 50px;
    box-sizing: border-box;
    background: url(images/kensaku.png) 1em 50% no-repeat #fff;
    transition: all 0.3s ease;
    outline: none;
    width: 100%;
}

#header .search input:hover{
    border-color: #0078c1;
    box-shadow: 0 0 5px rgba(68, 160, 219, 0.3);
    background-color: #f9fdff;
}



#header .search{
    padding: 20px 0px 0px 0;
    margin-left: 0;
    margin-right: 0;
}
#header .search .search-submit{
    display: none;
}
.gnav li.tab a{
    display: inline-block;
    position: relative;
    /*padding-right: calc(0.3em + 14px);*/
    text-align: center;
}
.gnav li.tab a:before{
 /*   content: "";*/
    width: 14px;
    height: 8px;
    background: url(images/arrow_nav.png) 0 0 no-repeat;
    position: absolute;
    right:0;
    bottom: 18px;
} 
.gnav li.st a.ca{
    position: relative;
}
.gnav li.st a.ca:after{
    content: "";
    width: 100%;
    height: 100%;
    padding:20px 10px 0 10px;
    background: #44a0db;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.gnav li.st a .e{
    color: #fff;
    position: relative;
    z-index: 2;
}
.gnav li.st a .t{
    position: relative;
    z-index: 2;
    color: #fff;
}
.gnav li.st a:before{
    z-index: 2;
    background-image: url(images/arrow_nav_w.png);
}
.inner{
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
}
.home_about{
    position: relative; 
    z-index: 10; /* Ensure it's above .mav */
    background: #fff;
    padding: 30px 0 0 0;
    margin-bottom: 150px;
}
.h2h{
    color: #325d78;
    font-weight: 700;
    font-size: 18px;
    padding: 0 0 10px 0;
    padding: 0 0 30px 0;
}
.h2h .e{
    display: block;
    font-size: 50px;
    font-weight: normal;
    line-height: 1;
    padding: 0 0 10px 0;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    
}
.h2h .j{
    display: inline-block;
}

.home_about .txt p{
    padding: 0 0 20px 0;
}

.more a{
    display: inline-block;
    position: relative;
    padding: 20px 0 20px 86px;
    margin-bottom: 20px;

}
.more a:before{
    content: "";
    width: 68px;
    height: 68px;
    border-radius: 100%;
    
   box-sizing: border-box;
   border: 1px solid #0099d9;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff url(images/more_hv.png) center calc(50% - 3px) no-repeat;

}
.more a:hover:before{
    background: url(images/more.png) center calc(50% - 3px) no-repeat #0099d9;
}
.home_about .txt{
    padding: 0 0 20px 0;
}
.more a:hover{
    color:#0099d9 ;
}
.home_about .imgs{
    width: 62.25%;
    min-height: 770px;
    position: relative;
}
.home_about .imgs .pic{
    
    z-index: 2;
}
.home_about .tbox{
    width: 34.17%;
    padding: 290px 0 0 0;
    
}

.home_about .bklogo{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 100%;
    width: calc(50vw + 120px);
    transform: translateX( -140px ) !important;
    background: url(images/about_logo.png) 0 bottom no-repeat;
    background-size: contain;
    z-index: 1;
    transition-duration: 2.5s;
    transition-timing-function:ease-in;
}
.home_about .inner .flexb{
    position: relative;
    z-index: 2;
    align-items: center;
}


.home_pick{
    position: relative;
    padding: 120px 0;
    background:#e3f8fe url(images/pickup_bk.png) center bottom no-repeat;
    background-size: contain;
}
.home_pick h2{
    text-align: center;
}

.home_pick h2{
    padding-bottom: 80px;
}

.home_pick .box{
    width: 31.67%;
    margin: 0 2.49% 0 0;
    padding: 0 0 30px 0;
}
.home_pick .box:nth-child(3n){
    margin-right: 0;
}

.home_pick dt a{
    border: 1px solid #0099d9;
    background: #fff;
    color: #0099d9;
    padding: 0 10px;
}
.home_pick .pic{
    position: relative;
    display: flex;
    margin-bottom: 30px;
}
.home_pick .pic:before{
    content: "";
    width: 1px;
    padding-bottom: 65.79%;
    margin-left: -1px;
}
.home_pick .pic a{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; /* 画像がはみ出さないように */
    display: block; /* 念のため追加 */
    
}
.home_pick .pic a:hover img {
    transform: scale(1.06); /* Even less zoom for smoother effect */
}
.home_pick .pic a:hover{
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
}
.home_pick .pic a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s;
}
.home_pick dt{
    padding: 0 0 16px 0;
}
.home_pick dd{
    padding: 0 0 20px 0;
}
.home_news{
    padding: 120px 0 140px 0;
    position: relative;
}
.home_news .bottom_bk{
    content: "";
    z-index: 10;
    position: absolute;
    top: 100%;
    height: auto;
    left: 0;
    right: 0;
}
.home_news .bottom_bk img{
    width: 100%;
    height: auto;
    max-width: none;
}
.news_list dt{
    grid-column: 1;
    grid-row: 1;
    margin-right: 40px;
    
    font-weight: 500;
    vertical-align: middle;
}
.news_list dd{
    vertical-align: middle;
}
.news_list dl{
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto;
    display: grid;
    padding:12px 0;
    align-items: center;
}
.news_list dd:nth-child(2){
    margin-right: 2em;
}
.news_list dd:nth-child(2) span{
    height: 28px;
    display: block;
    max-width: 100%;
    min-width: 120px;
    padding: 0 8px;
    border: 1px solid #1b98d9;
    background-color: #fff;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: 500;
    line-height: 26px;
    color: #1b98d9;
}
.news_list dd:nth-child(2) span.cat1,.home_pick dt a.cat1,.news_list dd:nth-child(2) span.topics,.home_pick dt a.topics,.newssingletit .cat a.topics{
    border-color:#78bc32 ;
    background-color:#fff;
    color:#78bc32 ;
}
.news_list dd:nth-child(2) span.cat2,.home_pick dt a.cat2,.news_list dd:nth-child(2) span.contribution,.home_pick dt a.contribution,.newssingletit .cat a.contribution{
    border-color:#de81ce ;
    background: #fff;
    color:#de81ce ;
}
.news_list dd:nth-child(2) span.cat4,.home_pick dt a.cat4,.news_list dd:nth-child(2) span.award,.home_pick dt a.award,.newssingletit .cat a.award{
    border-color:#e88e0d ;
    background-color:#fff;
    color: #e88e0d;
}
.news_list dd:nth-child(2) span.technology,.home_pick dt a.technology,.newssingletit .cat a.technology{
    border-color:#0B2A61;
    background-color:#fff;
    color: #0B2A61;
}
.news_list dd:nth-child(3){
    padding-right: 60px;
    color: #325d78;
    font-weight: 700;
}

.news_list li{
    border-bottom:1px solid #ccc ;

}
.news_list li a{
    display: block;
    position: relative;
}
.news_list li a:after{
    content: "";
    width: 12px;
    height: 20px;
    background: url(images/news_next.png) 0 0 no-repeat;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);

}
.news_list li a:hover dd:nth-child(3){
    text-decoration: underline;
}

.h_n_nav li{
    width: calc(100% / 5);
    box-sizing: border-box;
    border-right:1px solid #ccc ;
}
#news .h_n_nav{
    margin-bottom: 30px;
}
#news .h_n_nav li{
    width: calc(100% / 6);
}
.h_n_nav li button{
    display: block;
    text-align: center;
    padding: 20px 0;
    width: 100%;
    background: #fff;
    border: none;
    cursor: pointer;
}
.h_n_nav li a{
    display: block;
    text-align: center;
    padding: 20px 0;
    width: 100%;
}
.h_n_nav li.active button, .h_n_nav li button:hover,.h_n_nav li button.active,.h_n_nav li.active,.h_n_nav li:hover,.h_n_nav li a:hover,.h_n_nav li.active a{
    background: #44a0db;
    color: #fff;
}
.h_n_nav li:hover:first-child{
	background:#ffffff;
}
.h_n_nav li:last-child{
    border: none;
}
.h_n_nav{
    padding: 0;
}
.home_news .news_list{
    padding-bottom: 50px;
    display: none;
}
.home_news .news_list.active{
    display: block;
}
.home_news .morel{
    text-align: center;
}
.morel a{
    display: inline-block;
    padding: 16px 0;
    background: #44a0db;
    color: #fff;
    font-weight: 500;
    width: 218px;
    font-size: 18px;
    border-radius: 100px;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #44a0db;
}
.home_bk{
    position: relative; /* Added position relative to home_bk */
    background-color:#effbff;
    padding-bottom: 150px;
    overflow: hidden;
}
.home_bk .home_bk_fixed_bg {
    position: absolute; /* コンテンツより背面に配置 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(images/home_bk1.png),url(images/home_bk2.png);
    background-position: left -238px,right 292px;
    background-repeat: no-repeat,no-repeat;
    z-index: 1; /* コンテンツより背面に配置 */
}
.home_business{
    padding: 210px 0 80px 0;
    position: relative;
    z-index: 2;
   
}

.more.r a{
    padding: 20px 86px 20px 0;
}
.more.r a:before{
    right: 0;
    left: auto;
}

.home_business .more{
    padding-top: 10px;
    padding-bottom: 20px;
}

.home_business .box{
   /* background: #fff;
     overflow: hidden; 
    border-radius: 10px;*/
    margin: 0 3.66% 40px 0;
    width: 48.17%;
}
.home_business .box:nth-child(2n){
    margin-right: 0;
}
.home_business .flexb{
    padding-bottom: 30px;
}
.home_business .box .txt{
    padding: 20px 5% 20px 5%;
    box-sizing: border-box;
    width: 45%;
}
.home_business .box .left{
    width: 55%;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
    background: #fff;
  overflow: hidden;
  border-radius: 10px;

}
.home_business .box .pic{
    display: flex;
    position: relative;
}
.home_business .box .pic:before{
    content: "";
    width: 1px;
    padding-bottom:55.54% ;
    margin-right: -1px;
}
.home_business .box .pic a{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}
.home_business .box .pic a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s;
}
.home_business .box .pic a:hover img {
    transform: scale(1.06); /* Even less zoom for smoother effect */
}
.home_business .box h3{
    font-size:1.2rem ;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    padding: 8px;
    font-weight: bold;
}
.home_business .box h3 a{
    color: #1b98d9;
    display: block;
    position: relative;
    
}
.home_business .box h3 a:before{
    content: "";
    width:20px ;
    height: 20px;
    border-radius: 100%;
    
    background-position:center calc(50% - 2px) ;
    background-repeat:no-repeat ;
    position: absolute;
    right: 0;
    border: 1px solid #0099d9;
    box-sizing: border-box;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
    background-image: url(images/hb_arrow_on.png);
}
.home_business .box h3 a:hover:before{
    
    background-color:#0099d9 ;
    background-image: url(images/hb_arrow.png) ;
}
.home_business .box li{
    font-weight: bold;
    line-height: 1.6;
}
.home_business .box li:before{
    content: "・";
    display: inline-block;
    color: #44a0db;
    padding-right: 3px;
}

.home_business .box li a:hover{
    text-decoration: underline;
}


.home_co{
    position: relative;
    z-index: 2;
}
.home_co h2{
    text-align: center;
    padding-bottom: 40px;
}
.home_co li{
    width: calc(100% / 4);
    text-align: center;
}
.home_co li a{
    display:flex;
    position: relative;
    display: block;
}
.home_co li a:before{
    content: "";
    width: 1px;
    display: block;
    padding-bottom: 80%;
    margin-left: -1px;
}
.home_co li a .pic{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}
.home_co li a .pic img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform 0.2s;
}
.home_co li a:hover .pic img{
    transform: scale(1.06); /* Even less zoom for smoother effect */
}
.home_co li a .txt{
    position: relative;
    z-index: 1;
    width: 100%;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    right: 0;
    position: absolute;
    font-size: 1.8rem;
    color: #fff;
    text-shadow: 0 0 8px rgba(0,0,0,0.5);

}

.home_rec .pic{
    width: 65%;
    margin-bottom: 20px;
}
.home_rec .tbox{
    width: 31.67%;
}

.home_rec{
    padding: 150px 0 120px 0;
}
.home_rec .pic p{
    width: calc(50vw + 120px);
    transform: translateX(-120px);
}
.home_rec .pic p img{
    width: 100%;
    max-width: none;
}
.home_rec .txt p{
    padding: 0 0 20px 0;
}
.home_rec .txt{
    padding: 0 0 30px 0;
}
.home_rec .morel{
    padding: 0 0 20px 0;
}
.morel a:hover{
    background: #fff;
    color:#1b98d9 ;
} 

.home_bnr li{
    margin: 0 3.75% 20px 0;
    width: 30.83%;
}
.home_bnr li a:hover{
    display: inline-block;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
}
.home_bnr li:nth-child(3n){
    margin-right: 0;
}
.home_bnr{
    padding: 20px 0 20px 0;
}

.mvt {
  opacity: 0;
  transform: translateY(50px); /* 下から появれる эффект */
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.mvt.mv {
  opacity: 1;
  transform: translateY(0);
}

.mvt {
  transition-delay: 0.2s; /* デフォルトの遅延 */
}

.mvt:nth-child(2) {
  transition-delay:0.4s; /* 2番目の要素はさらに遅延 */
}

.mvt:nth-child(3) {
  transition-delay: 0.6s; /* 3番目の要素はさらにさらに遅延 */
}

.mvt:nth-child(4) {
    transition-delay: 0.8s; /* 3番目の要素はさらにさらに遅延 */
 }
 .mvt:nth-child(5) {
    transition-delay: 1s; /* 3番目の要素はさらにさらに遅延 */
 }
 .mvt:nth-child(6) {
    transition-delay: 1.2s; /* 3番目の要素はさらにさらに遅延 */
 }
 .mvt:nth-child(7) {
    transition-delay: 1.4s; /* 3番目の要素はさらにさらに遅延 */
 }
 .gnav li.tab .tit .e{
    display: none;
 }
 .mv_news.news_mv{
    transform: none;
    opacity: 1;
 }
 .mv_news{
    top: auto;
    bottom: 16px;
    right: 0;
 }
 #home_company .mv_news{
    display: none;
 }
 @media only screen and (max-width: 1300px) {
    .gnav li a{
        font-size: 16px;
        text-align: left;
    }
    .gnav li{
        padding: 20px 0 5px 0;
        margin-left: 5px;
    }
    .gnav li a .e{
        font-size: 12px;
    }
    #header .search{
        padding-right: 0;
        margin-left: 0;
    }
    .gnav .contactnav a{
        padding: 20px 16px;
    }
    #header .search input{
        font-size: 14px;
        padding: 8px 10px 8px 50px;
    }
    #header .search{
        min-width: 160px;
        padding-top: 14px;
        margin-right: 10px;
    }
    #header .logo{
        padding-left: 1.5%;
        max-width: 25%;
        box-sizing: border-box;
    }
    .foot_cont .foot_nav dd,.foot_cont .foot_info dt,.foot_cont .foot_info dd{
        font-size: 16px;
    }
    .foot_cont .foot_nav dt,.foot_cont .foot_nav li{
        font-size: 18px;
    }
    .foot_cont{
        padding-bottom: 40px;
    }
    .home_pick dt{
        font-size: 14px;
    }
    .news_list dd:nth-child(2) span{
        font-size: 14px;
    }
    .h2h .e{
        font-size: 2.6rem;
    }
    .h2h{
        font-size: 16px;
    }
   
    .home_co li a .txt{
        font-size: 1.8rem;
    }
    #header .search input:focus{
        top: 14px;
    }
    .home_bk .home_bk_fixed_bg{
        background: url(images/home_bk.png) 0 0 no-repeat;
        background-size: contain;
    }

 }
 #header .hhmenu{
    display: none;
 }
 .tabbtn{
    display: none;
 }
 
.gnav li .sp{
    display: none;
}
.blk a:after {
    content: "";
    width: 13px;
    height: 13px;
    display: inline-block;
    background: url(images/blank_w.png) 0 0 no-repeat;
    vertical-align: middle;
    margin-left: 8px;
}
#home_sitmap .blk a:after{
    background: url(images/blank.png) 0 0 no-repeat;
}
@media only screen and (max-width: 1100px) {
    .home #header{
        height: 50px;
        background: #fff;
        border-bottom:1px solid #ccc ;
        min-width: 0;
    }
    .home #header .logo{
        padding: 8px 0 0 2%;
        max-width: 250px;
        width: 60%;
    }
    .home #header .hhmenu{
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 50px;
        height: 50px;
        text-indent: -9999px;
        background: #44a0db;
        cursor: pointer;
    }
    .home .hhmenu span {
        display: none;
    }
    .home .hhmenu::before,
    .home .hhmenu::after,
    .home .hhmenu .i {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 2px;
        background-color: #fff;
        border-radius: 1px;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .home .hhmenu::before {
        -webkit-transform: translate(-50%, -10px);
        transform: translate(-50%, -9px);
    }
    .home .hhmenu::after {

        transform: translate(-50%, 7px);
    }
    .home .hhmenu.active i {
        background-color: transparent;
    }
    .home .hhmenu.active::before {
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
    }
    .home .hhmenu.active::after {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    /* header に .active がある時ハンバーガーメニューを × にする */
    .home #header .hhmenu::before,
    .home #header .hhmenu::after,
    .home #header .hhmenu .i {
        transition: all 0.3s ease-in-out;
        background-color: #fff; /* ×印の色 */
    }
    .home #header.active .hhmenu::before {
        transform: translate(-50%, -50%) rotate(45deg); /* ×印の角度 */
    }
    .home #header.active .hhmenu::after {
        transform: translate(-50%, -50%) rotate(-45deg); /* ×印の角度 */
    }
    .home #header.active .hhmenu .i {
        background-color: transparent; /* 真ん中のバーを透明にする */
    }
    /* gnav 非表示 */
    .home #header .gnav{
        height: 0px;
        overflow: hidden;
        transition: all 0.3s ease-in-out;
        position: fixed;
        top: 51px;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        background: #fff;
    }
    .home #header.active .gnav{
        height: auto;
        opacity: 1;
    }
    .home #header .gnav li{
        width: 100%;
        padding: 0 0 0 0;
        border-bottom: 1px solid #ccc;
        box-sizing: border-box;
  
        margin: 0;
    }
    .home #header .gnav .flex{
        display: block;
    }
    .home #header .search input:focus{
        position: relative;
        top: auto;
        left: auto;
        width: auto;
    }
    .home #header .search input{
        max-width: none;
    }
    .home #header .gnav li a{
        display: block;
        padding: 12px 5%;
    }
    .home .gnav li a:after{
        display: none;
    }
    .home .gnav li a .e{
        display: block;
    }
    .home .gnav li a .e2{
        transform: none;
    }
    .home .gnav li a .e2 br{
        display: none;
    }
    .home .gnav li .pc{
        display: none;
    }
    .home .gnav li .sp{
        display: block;
    }
    .home .gnav li{
        line-height: 140%;
    }
    
    .home #header .gnav li.tab{
        position: relative;
    }
    .home #header .gnav li.tab a{
        margin-right: 45px;
        text-align: left;
    }
    .home #header .gnav li.tab a:before{
        display: none;

    }
    
    .home #header .gnav li.tab:hover .wrap{
        display: none;
    }
    .home #header .gnav li.search{
        padding: 8px 5%;
        text-align: center;
        max-width: none;
    }
    .home #header .gnav li.search input{
        width: 100%;
        box-sizing: border-box;
        max-width: 300px;
        text-align: left;
    }
    .home #header .gnav li.tab .tabbtn{
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        display: block;
        border-left:1px solid #ccc ;
        width: 45px;
        cursor: pointer;
        background: url(images/arrow_nav.png) 50% 50% no-repeat #fff;
        z-index: 10;
    }
    .home #header .gnav li.tab.activetab .tabbtn{
        transform: rotate(180deg);
        border-left:none ;
        border-right:1px solid #ccc ;
        transition: none;
        pointer-events: all;
    }
    .home #header .gnav li.tab .wrap{
        display: block !important;
        border-top: 1px solid "ccc";
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        transition: none;
        opacity: 1;
        width: auto !important;
    }
    .home .gnav li.tab .wrap:before{
        display: n;
    }
    .home .gnav li.tab:hover .wrap{
        padding-bottom: 0;
        opacity: 1;
        transition: none;
        box-sizing: border-box;
    }
    .home .gnav li.tab .ca{
        display: none !important;
    }
    .gnav li.tab ul{
        background:#e3f8fe ;
        padding: 2%;
    }
    .home .gnav li.tab li{
        border:none !important;
       
    }
    .home .gnav li.tab li a{
        background: #fff;
        margin-right: 0 !important;
        margin-bottom: 3px;
    }
    .home .gnav li.tab .inner{
        width: auto;
        max-width: none;
    }
    .home #header .gnav ul{
        overflow-y: auto;
        height: 100%;
    }
    .home .gnav li.tab .tit{
        padding: 0;
        position: relative;
    }
    .home .gnav li.tab.st .tit a{
        background:#44a0db ;
        color: #fff;
    }
    .home #header .gnav li.tab .tit+ul{
        display: none;
    }
    .home #header .gnav li.tab.activetab ul{
        display: block;
    }
    .home #header .gnav li.tab.activetab .tit{
        border-bottom:1px solid #ccc ;
    }
    
    .home .gnav li.tab:hover .wrap:before{
        display: none;
    }
    .home_rec .pic{
        width:calc(100% - 280px);
    }
    .home_rec .tbox{
        width: 250px;
    }
    .home_rec .pic p{
        transform: none;
        width: 100%;
    }
    

}
 @media only screen and (max-width: 767px) {
    
    #header{
        height: 50px;
        background: #fff;
        border-bottom:1px solid #ccc ;
        min-width: 0;
    }
    
    #header .logo{
        padding: 8px 0 0 2%;
        max-width: 250px;
        width: 60%;
    }
    .gnav li.st a.ca {
        background-color:#44a0db ;
    }
    #wrapper{
        min-width: 0px;
    }
    #header .hhmenu{
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 50px;
        height: 50px;
        text-indent: -9999px;
        background: #44a0db;
        cursor: pointer;
    }
    .hhmenu span {
        display: none;
    }
    
    #home_company .mv_news{
        display: block;
        max-width: 90%;
        margin: 0 auto;
     }
     .mv_news li{
        margin: 0;
        padding: 0 2.5%;
     }
     .mv_news .wrap{
        padding-top: 0;
     }
    .hhmenu::before,
    .hhmenu::after,
    .hhmenu .i {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 2px;
        background-color: #fff;
        border-radius: 1px;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .hhmenu::before {
        -webkit-transform: translate(-50%, -10px);
        transform: translate(-50%, -9px);
    }
    .hhmenu::after {

        transform: translate(-50%, 7px);
    }
    .hhmenu.active i {
        background-color: transparent;
    }
    .hhmenu.active::before {
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
    }
    .hhmenu.active::after {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    /* header に .active がある時ハンバーガーメニューを × にする */
    #header .hhmenu::before,
    #header .hhmenu::after,
    #header .hhmenu .i {
        transition: all 0.3s ease-in-out;
        background-color: #fff; /* ×印の色 */
    }
    #header.active .hhmenu::before {
        transform: translate(-50%, -50%) rotate(45deg); /* ×印の角度 */
    }
    #header.active .hhmenu::after {
        transform: translate(-50%, -50%) rotate(-45deg); /* ×印の角度 */
    }
    #header.active .hhmenu .i {
        background-color: transparent; /* 真ん中のバーを透明にする */
    }
    /* gnav 非表示 */
    #header .gnav{
        height: 0px;
        overflow: hidden;
        transition: all 0.3s ease-in-out;
        position: fixed;
        top: 51px;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        background: #fff;
    }
    #header.active .gnav{
        height: auto;
        opacity: 1;
    }
    #header .gnav li{
        width: 100%;
        padding: 0 0 0 0;
        border-bottom: 1px solid #ccc;
        box-sizing: border-box;
  
        margin: 0;
    }
    #header .gnav .flex{
        display: block;
    }
    #header .search input:focus{
        position: relative;
        top: auto;
        left: auto;
        width: auto;
    }
    #header .search input{
        max-width: none;
    }
    #header .gnav li a{
        display: block;
        padding: 10px 5%;
    }
    .gnav li a:after{
        display: none;
    }
    .gnav li a .e{
        display: block;
        transform: none;
    }
    .gnav li a .e2{
        transform: none;
    }
    .gnav li a .e2 br{
        display: none;
    }
    .gnav li .pc{
        display: none;
    }
    .gnav li .sp{
        display: block;
    }
    .gnav li{
        line-height: 140%;
    }
    .gnav li.tab .tit .e,.gnav li a .e{
        display: block;
        text-align: left;
        height: auto !important;
        line-height: 1.1;
    }
    #header .gnav li.tab{
        position: relative;
    }
    #header .gnav li.tab a{
        margin-right: 45px;
        text-align: left;
    }
    #header .gnav li.tab a:before{
        display: none;

    }
    
    #header .gnav li.tab:hover .wrap{
        display: none;
    }
    #header .gnav li.search{
        padding: 8px 5%;
        text-align: center;
        max-width: none;
    }
    #header .gnav li.search input{
        width: 100%;
        box-sizing: border-box;
        max-width: 300px;
        text-align: left;
    }
    #header .gnav li.tab .tabbtn{
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        display: block;
        border-left:1px solid #ccc ;
        width: 45px;
        cursor: pointer;
        background: url(images/arrow_nav.png) 50% 50% no-repeat #fff;
        z-index: 10;
    }
    #header .gnav li.tab.activetab .tabbtn{
        transform: rotate(180deg);
        border-left:none ;
        border-right:1px solid #ccc ;
        transition: none;
        pointer-events: all;
    }
    #header .gnav li.tab .wrap{
        display: block !important;
        border-top: 1px solid "ccc";
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        transition: none;
        opacity: 1;
        width: auto !important;
    }
    .gnav li.tab .wrap:before{
        display: n;
    }
    .gnav li.tab:hover .wrap{
        padding-bottom: 0;
        opacity: 1;
        transition: none;
        box-sizing: border-box;
    }
    .gnav li.tab .ca{
        display: none !important;
    }
    .gnav li.tab ul{
        background:#e3f8fe ;
        padding: 2%;
    }
    .gnav li.tab li{
        border:none !important;
       
    }
    .gnav li.tab li a{
        background: #fff;
        margin-right: 0 !important;
        margin-bottom: 3px;
    }
    .gnav li.tab .inner{
        width: auto;
        max-width: none;
    }
    #header .gnav ul{
        overflow-y: auto;
        height: 100%;
    }
    .gnav li.tab .tit{
        padding: 0;
        position: relative;
    }
    .gnav li.tab.st .tit a{
        background:#44a0db ;
        color: #fff;
    }
    #header .gnav li.tab .tit+ul{
        display: none;
    }
    #header .gnav li.tab.activetab ul{
        display: block;
    }
    #header .gnav li.tab.activetab .tit{
        border-bottom:1px solid #ccc ;
    }
    
    .gnav li.tab:hover .wrap:before{
        display: none;
    }
    .mav{
        height: auto;
        display: flex;
        margin-top: 50px;
        height: calc(100svh - 50px);
    }
    .mav .video{
        bottom: 40%;
    }
    .mav:before{
        content: "";
        width: 1px;
        padding-bottom: 100%;
    }

    .mav .txt{
        max-width: 85%;
    }
    .mav .txt{
        top: 8%;
    }
    .home_about .tbox{
        width: 100%;
        padding-top: 60px;
    }
    .mv_news li .newstxt{
        width: 100%;
        padding: 0 0 20px 0;
    }
    .mv_news li .pic{
        margin-left: auto;
        margin-right: auto;
        max-width: 150px;
    }
    .mv_news li .flexb{
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 2.5%;
        padding-right: 2.5%;
        
    }
    .mv_news{
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        box-shadow: 0 0 20px rgba(0,0,0,0.3);
       
    }
    .mav .mv_news{
        position: absolute;
        bottom: 20px;
        right: 5%;
        left: 5%;
        top: auto;
        box-shadow: 0 0 20px rgba(0,0,0,0.3);
    }
    .mv_news.news_mv{
        transform: translateX(0);
        opacity: 1;
    }
    .h2h .e{
        font-size: 2.1rem;
    }
    .home_about .imgs{
        width: 100%;
    }
    .home_about .imgs{
        min-height: 400px;
    }
    .home_business .box{
        width: 100%;
        max-width: 350px;
        margin-right:auto !important;
        margin-left: auto;
        margin-bottom: 20px;
    }
    
    .home_business .box .left{
        width: 100%;
    }
    .home_business .box .txt{
        width: 100%;
    }
    .home_business .box li{
        display: inline-block;
        padding: 0 1em 5px 0;
    }
    .home_co li{
        width: 50%;
    }
    .foot_cont .foot_info{
        width: 100%;
    }
    .foot_cont .foot_nav{
        display: none;
    }
    .foot_copy .copy{
        font-size: 12px;
    }
    .foot_copy ul li a{
        font-size: 14px;
    }
    .foot_copy ul{
        width: 100%;
    }
    .home_rec .tbox{
        width: 100%;
    }
    .morel a{
        font-size: 16px;
    }
    .home_rec .pic{
        width: 100%;
    }
    .home_rec .pic p{
        width: 100%;
        transform: translateX(0);
    }
    .home_rec .morel{
        text-align: center;
        margin-bottom: 20px;
    }
    .h_n_nav li{
        border: 1px solid #ccc !important;
        margin: 2px;
        
    }
    .home_news .news_list dd:nth-child(3){
        width: 100%;
        display: block;
        padding-top: 20px;
        box-sizing: border-box;
        padding-right: 30px;
    }
    .news_list dl{
        display: block;
    }
    .news_list dd:nth-child(2),.news_list dt{
        display: inline-block;
    }
    .h_n_nav li{
        width: calc(100% /3 - 4px);
        display: flex;
    }
    .h_n_nav li a,.h_n_nav li button{
        padding: 10px 1px;
        line-height: 1.4;
        width: 100%;
        font-size: 12px;
    }
    
    
    .home_bk{
        padding-bottom: 60px;
    }
    .home_rec{
        padding: 80px 0;
    }
    #footer{
        padding-top: 60px;
    }
    #home_footer{
        display: none;
    }
    .home_business .box li{
        font-size: 14px;
    }
    .home_pick .box{
        width: 100%;
        margin-right: 0;
    }
    .home_pick .flex{
        max-width: 360px;
        margin: 0 auto;
    }
    .home_about .imgs::after{
        width: 100%;
        transform: translateX(2.5%);
    }
    .home_bnr li{
        width: 100%;
        text-align: center;
        margin-right: 0;
        overflow: hidden;
    }
    .home_bnr li img{
        margin:0 auto;
    }
    .home_bnr  .slick-dots{
        width: 100%;
        bottom: -30px;
    }
    .home_bnr  .slick-dots li{
        display: inline-block;
        width: auto;
    }
    .home_bnr li a{
        display: inline-block;
        overflow: hidden;
    }
    .home_bnr .slick-dots li button:before,.home_pick .slick-dots li button:before{
        font-size: 12px;
    }
    .home_pick .slick-dots li{
        margin: 0 1px;
    }
    
   
 }

.subtit1{
    background: url(images/bktype1.jpg) center 0 no-repeat;
    background-size:cover;
    position: relative;
    display: flex;
}
.subtit1:before{
    content: "";
    width: 1px;
    padding-bottom:28.85% ;
    display: block;
}
.pnav{
    margin: 110px 0 20px 0;
}
.pnav li{
    display: inline-block;
    vertical-align: middle;
}
.pnav li .top{
    padding-left: 0.5em;
}
.pnav li:last-child{
    font-weight: 700;
}
.pnav li+li:before{
    content: "＞";
    display: inline-block;
    font-size: 12px;
    vertical-align: middle;
    margin: 0 0.5em;
    vertical-align: top;
}
.pnav li img{
    vertical-align: middle;
    transform: translateY(-2px);
}
.pnav li a{
    text-decoration: underline;
}
.subtit1 h2{
    font-size: 54px;
    font-weight: 500;
    padding: 0 0 60px 0;
    line-height: 1.2;
}
.subtit1 h2 .e{
    display: block;
    font-size: 18px;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    font-weight: bold;
    line-height: 1.1;
    color: #1b98d9;
    padding-top: 8px;
    text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;

}
@media only screen and (max-width: 767px) {
    .subtit1{
        
        background-position: center 0;
        
    }
    .pnav{
       margin: 5px 0 10px 0;
    }
    .pnav li{
        font-size: 14px;
    }
    .pnav li img{
        width: 16px;
    }
    .subtit1 h2{
        font-size: 24px;
        padding-top: 10px;
    }
    .subtit1 h2 .e{
        font-size: 14px;
    }
    .news_list dd:nth-child(3){
        padding-top: 4px;
    }

}

#news{
    padding: 0 0 150px 0;
}
#news .h_n_nav li:first-child{
    display: flex;
    align-items: center;
}

.years_nav select{
    background: #fff url(images/select.png) calc(100% - 16px) 50% no-repeat;
    width: 100%;
    box-sizing: border-box;
    height: 50px;
    position: relative;
  max-width: 100%;
  padding: 5px 35px 7px 5px;
  border: 1px solid #ccc;
  border-radius: 0;


  font-weight: 500;

  appearance: none;
  cursor: pointer;
  outline: none;
  z-index: 1;
}

.pagenav{
    text-align: center;
    padding: 30px 0 0 0;
}
.pagenav a,.pagenav span{
    display: inline-block;
    vertical-align: middle;
}
.pagenav a{
    min-width: 54px;
    line-height: 54px;
    text-align: center;
    border: 1px solid #878787;
    border-radius: 100%;
    box-sizing: border-box;
    padding: 0 5px;
    font-weight: 700;
    margin: 5px;
}
.pagenav a:hover{
    opacity: 0.7;
}
.pagenav .current{
    min-width: 54px;
    line-height: 54px;
    text-align: center;
    border: 1px solid #44a0db;
    background: #44a0db;
    border-radius: 100%;
    box-sizing: border-box;
    padding: 0 5px;
    font-weight: 700;
    color: #fff;
    margin: 5px;
}
.pagenav .extend{
    padding: 0 1em;
    font-weight: 700;
}
.pagenav .nextpostslink,.pagenav .last,.pagenav .previouspostslink,.pagenav .first{
    min-width: 54px;
    line-height: 54px;
    text-align: center;
    border: 1px solid #44a0db;
    border-radius: 100%;
    font-weight: 700;
    text-indent: -9999px;
    background-position: center 50%;
    background-repeat: no-repeat;
}
.pagenav .nextpostslink{
    background-image: url(images/page_next.png);
}
.pagenav .last{
    background-image: url(images/page_nextl.png);
}
.pagenav .previouspostslink{
    background-image: url(images/page_prev.png);
}
.pagenav .first{
    background-image: url(images/page_prevl.png);
}
.newssingletit h2{
    font-size: 34px;
    font-weight: 500;
    padding: 20px 0 30px 0;
}
.newssingletit .cat{
    text-align: right;
}
.newssingletit .cat a {
    height: 28px;
    display: inline-block;
    max-width: 100%;
    min-width: 120px;
    padding: 0 8px;
    border: 1px solid ;
    background-color: #fff;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: 500;
    line-height: 26px;
    
}
.newssingletit{
    border-bottom: 1px solid #ccc;
    padding: 0 0 20px 0;
    margin-bottom: 20px;
}
.singlecont{
    max-width: 750px;
}
.singlecont .date{
    text-align: right;
    padding: 0 0 30px 0;
}
.singlecont ol{
    margin-left: 2em;
    padding-bottom: 20px;
}
.singlecont ul{
    margin-left: 1em;
    padding-bottom: 20px;
}
.post-edit-area p{
    padding: 0 0 20px 0;
}
.post-edit-area table{
    margin-bottom: 40px;
    width: 100% !important;
    border: none;
    border-top: 1px solid #ccc;
    border-collapse: collapse;
}
.post-edit-area .is-scroll-on-mobile table{
    width: 1000px !important;
}
.post-edit-area table td,.post-edit-area table th{
    vertical-align: middle;
    border: none;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    padding: 8px ;
}
.post-edit-area table td:first-child{
    width:7em;
}
.post-edit-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td{
    border-color:#ccc ;
    border-left:none ;
    border-right: none;
}
.post-edit-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table{
    overflow: auto;
   
}
.hyosyo_table td code{
    display: inline-block;
    padding-right: 1em;
   
}
.hyosyo_table td mark{
    display: inline-block;
}
.singlecont{
    padding: 0 0 150px 0;
}
.post-edit-area a{
    text-decoration: underline;
    color: #0088CC;
}
.singlecont .morel{
    text-align: center;
    padding: 50px 0 0 0;
}
.singlecont .wrap{
    padding-bottom: 50px;
}
.post-edit-area .wp-block-gallery.has-nested-images{
    gap: 0 !important;
}
.singleproducts .post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image{
    max-width: 32.17% !important;
    width: 32.17% !important;
    margin-right: 1.74% !important;
    margin-bottom: 20px !important;
    
}
.post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(3n){
    margin-right: 0 !important;
}
.post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image a{
    display: block !important;
    position: relative;
    padding-bottom:70.73%;
    height: 0 !important;
    width: 100% !important;
    overflow: hidden;
}
.post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before{
    display: none;

}
.post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image a img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}
.singlecont .post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image{
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 20px !important;
}
.post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
    position: relative;
    font-size: 12px;
    text-shadow: none;
    color: #333;
    background: none;
    line-height: 1.2;
	padding-left:0 !important;
	padding-right:0 !important;
    overflow: inherit;

}

.singlecont .wrap .is-type-video > div{
    width: 100%;
    max-width: 600px;
    height:auto;
    margin: 0 auto;
    display: flex;
    position: relative;
}
.singlecont .wrap .is-type-video > div:before{
    content: "";
    width: 1px;
    padding-bottom: 56.25%;
    display: block;
}
.singlecont .wrap .is-type-video iframe{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.singlecont .singlecont_contact{
    text-align: center;
    background: #e4f9ff;
    border-radius: 10px;
    padding: 40px 0;
    margin-bottom: 50px;
}
.singlecont .singlecont_contact a {
    display: inline-block;
    padding: 16px 0;
    background: #44a0db;
    color: #fff;
    font-weight: 500;
    width: 218px;
    font-size: 18px;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #44a0db;
    text-decoration: none;
}
.singlecont .singlecont_contact a:hover{
    background: #fff;
    color: #44a0db;
}
.singlecont ul li{
    width: 50%;
    box-sizing: border-box;
    padding-right: 2.5%;
    padding-bottom: 20px;
    padding-left: 30px;
    font-size: 18px;
    font-weight: bold;
    position: relative;
}
.singlecont ul li:before{
    content: "";
    width: 10px;
    height: 10px;
    background: #44a0db;
    position: absolute;
    top: 12px;
    left: 0;
}
.singlecont .bwrap .nextflexb{
    width: 94%;
    margin: 0 auto;
}
.singlecont .bwrap .nextflexb ul{
    padding-top: 20px;
}

@media only screen and (max-width: 767px) {
    .pagenav .current,.pagenav a,.pagenav .nextpostslink, .pagenav .last, .pagenav .previouspostslink, .pagenav .first{
        min-width: 30px;
        line-height: 30px;
        font-size: 14px;
        margin: 5px 2px;
    }
    .hyosyo_table td code{
        min-width: 0;
        display: inline;
    }
    .pagenav .extend{
        padding: 0 0.4em;
        font-size: 12px;
    }
    #news .h_n_nav li:first-child{
        width: 100%;
        border: none !important;
    }
    #news .years_nav{
        width: 100%;

    }
    #news .h_n_nav li{
        width: calc(100% /3 - 4px);
    }
    .singlecont .date{
        padding-bottom: 20px;
    }
    .h_n_nav li form{
        display: flex !important;
        width: 100%;
        align-items: center;

    }
    .post-edit-area .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table{
        margin-right: 24px;
    }
}

#business{
    padding-top: 0;
    padding-bottom: 60px;
}
#business .box{
   /* box-shadow: 0 0 20px rgba(0,0,0,0.3); */
    padding-bottom: 0;
}


.childtit .pnav{
    margin-top: 0;
    padding-top: 20px;
}
.childtit{
    margin: 83px 0 40px 0;
    background: url(images/childtit_bk.jpg) center top no-repeat;
    background-size: cover;
    position: relative;
    display: flex;
}
.childtit.water{
    background-image: url(images/water_tit.jpg);
}
.childtit.town{
    background-image: url(images/town_tit.jpg);
    background-position: center bottom;
}
.childtit.sato{
    background-image: url(images/sato_tit.jpg);
}
.childtit.land{
    background-image: url(images/land_tit.jpg);
}
.childtit.conta{
    background-image: url(images/conta_bk.jpg);
}
.childtit h2{
    font-size: 40px;
    font-weight: 500;
    line-height: 1.6;
    padding: 0 0 20px 0;
}
.childtit h2 .bu{
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #1b98d9;
    line-height: 1;
}
/* .childtit:before{
    content: "";
    width: 1px;
    padding-bottom: 17.52%;
    display: block;
} */
@media only screen and (max-width: 1300px){
    .childtit{
        margin-top:71px ;
    }
    
}
@media only screen and (max-width: 767px) {
    
    .subtit1,.newssingletit,.childtit{
        margin-top: 50px;
    }
    #business{
        padding-bottom: 40px;
    }
    .childtit .pnav{
        padding-top: 5px;
    }
    .childtit h2 .bu{
        font-size: 16px;
    }
    .childtit h2{
        font-size: 24px;
        padding: 10px 0 20px 0;
    }
    .childtit{
        margin-bottom: 30px;
    }
    .newssingletit h2{
        font-size: 24px;
        padding: 10px 0;
    }
    .newssingletit{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .post-edit-area .wrap table{
        width: 670px !important;
        margin-bottom: 0;
    }
    .post-edit-area .wrap{
        overflow-x: auto;
    }
    .singlecont .wrap{
        padding-bottom: 30px;
    }
    .singleproducts .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
        padding-left: 0;
        padding-right: 0;
        font-size: 14px;
        overflow: unset;
    }
    .years_nav{
        padding-bottom: 0;
    }
}
.singleproducts{
    padding-bottom: 80px;
    max-width: 1400px;
}

.singleproducts .intro .tbox{
    width: 45%;
}
.singleproducts .intro .pics{
    width: 50%;
}
.h2m{
    border-bottom: 1px solid #ccc;
    position: relative;
    margin-bottom: 40px;
    line-height: 1.5;
    font-size: 30px;
    padding-bottom: 8px;
    padding-top: 8px;
}
.h2m:before{
    content: "";
    width: 33px;
    height: 17px;
    background: url(images/h2m.png) 0 0 no-repeat;
    top: 100%;
    left: 0;
    position: absolute;

}
.singleproducts .pronav{
    padding-bottom: 60px;
}
.historys .pronav.btm{
    padding-top: 80px;
}

.singleproducts h3,.singlecont h3{
    font-size: 24px;   
    border-bottom: 1px solid #ccc;
    position: relative;
    line-height: 2.2;
    margin-bottom: 40px;
    font-weight: 500;
}
.singleproducts h3:before,.singlecont h3:before{
    content: "";
    width: 60px;
    height: 3px;
    top: calc(100% - 1px);
    left: 0;
    background: #44a0db;
    font-weight: 500;
    position: absolute;
}
.singleproducts .gyoumu{
    padding: 40px 0;
}
.singleproducts h4{
    font-size: 22px;
    font-weight: 500;
    border-bottom: 1px solid #ccc;
    line-height: 2.4;
    padding: 0 0 0 37px;
    background: url(images/h4m.png) 0 50% no-repeat;
    margin-bottom: 30px;

}
.bwrap{
    background: #e4f9ff;
    border-radius: 10px;
    padding: 30px 0 30px 0;
    margin-bottom: 40px;
}
.singleproducts .gyoumu dl{
    padding-bottom: 5px;
}
.singleproducts .gyoumu .nextflexb,.singleproducts .gyoumu .singlelist{
    width: 94%;
    margin: 0 auto;
}
.singleproducts .gyoumu .bwrap li ,.singleproducts .gyoumu .bwrap dt{
    padding-left: 30px;
    font-size: 18px;
    font-weight: bold;
    position: relative;
}
.singleproducts .gyoumu .bwrap dd{
    font-size: 18px;
    padding-left:30px ;
}
.singleproducts .gyoumu .bwrap li:before,.singleproducts .gyoumu .bwrap dt:before{
    content: "";
    width: 10px;
    height: 10px;
    background: #44a0db;
    position: absolute;
    top: 9px;
    left: 0;
}
.singleproducts .gyoumu .bwrap li{
    padding-bottom: 2px;
}
.nextflexb ul,.nextflexb.dl > div,.nextflexb > .is-layout-constrained{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-we1bkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.gyoumu .nextflexb ul > div,.gyoumu .nextflexb.dl > div,.gyoumu .nextflexb > .is-layout-constrained{
    display:block;
    column-count: 2; 
    column-gap: 24px; 
    flex-wrap:nowrap;
    justify-content:inherit;
}
.nextflexb.rpic ul,.nextflexb.rpic dl > div,.nextflexb.rpic > .is-layout-constrained{
    flex-direction: row-reverse;
}
.singleproducts .gyoumu .bwrap .nextflexb li,.singleproducts .gyoumu .bwrap .nextflexb dl{
    break-inside: avoid;        /* 標準 */
  -webkit-column-break-inside: avoid; /* Safari など */
  -moz-column-break-inside: avoid;
  margin: 0 0 16px;           /* アイテム間の縦余白 */
  width: 100%;
}
.singleproducts .jisseki .box{
    width: 31.67%;    
    border: 1px solid #ccc;
    margin: 40px 2.49% 30px 0;
    position: relative;
}
.singleproducts .jisseki .box:nth-child(3n){
    margin-right: 0;
}
.singleproducts .jisseki .box .year{
    color: #1b98d9;
    font-size: 20px;
    font-weight: 700;
    padding: 0;
   position: absolute;
   width: 100%;
   top: -40px;
}
.singleproducts .jisseki .box .waku{
    padding:20px 20px 0 20px;
}
.singleproducts .jisseki .box h5{
    font-weight: 700;
    font-size: 20px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 16px;
    padding-bottom: 16px;
}
.singleproducts .jisseki .box dt{
    color: #1b98d9;
    font-weight: 700;
    padding: 0 0 5px 0;
}
.singleproducts .jisseki .box .kikan dd{
    background:#e4f9ff ;
    padding: 16px;
    font-weight: 700;
}
.singleproducts .jisseki dl{
    padding-bottom: 16px;
}
.nextflex > div{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.singleproducts .jisseki .more{
    padding: 0 0 0 0;
    text-align: center;
}
.singleproducts .jisseki .more .i{
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    background: url(images/pdfi.png) 0 0 no-repeat;
    margin-right: 5px;
}
.singleproducts .jisseki .more a{
    font-weight: 700;
    text-decoration: none;
    color: #325d78;
}
.singleproducts .jisseki .more a:hover{
    text-decoration: underline;
}
.mainfoot_nav{
    position: relative;
    padding: 100px 0 60px 0;
}
.mainfoot_nav:before{
    content: "";
    width: 100%;
    height: 150px;
    top: 0;
    left: 0;
    right: 0;
    background: l;
    background:linear-gradient(#e4f9ff , transparent);
    position: absolute;
    z-index: -1;
    
}
.mainfoot_nav h3{
    font-size: 24px;
    font-weight: 700;
    padding: 0 0 40px 0;

}
.mainfoot_nav h3 a{
    color:#0099d9 ;
}
.mainfoot_nav h3 a::after{
    content: "→";
    font-size: 18px;
    font-weight: 400;
    
    width: 34px;
    line-height: 34px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
    text-align: center;
    margin-left: 14px;
    border: 1px solid #0099d9 ;
    background: #fff;
    color:#0099d9 ;
    transform: translateY(-3px);
}
.mainfoot_nav h3 a:hover:after{
    color: #fff;
    background: #0099d9 ;
}
.mainfoot_nav .box{
    width:23.5% ;
    margin: 0 2% 20px 0;
}
.mainfoot_nav .box:nth-child(4n){
    margin-right: 0;
}
.mainfoot_nav dd a{
    display: inline-block;
    border-bottom: 1px solid #ccc;
    display: block;
    position: relative;
    padding: 20px 0;
}
.mainfoot_nav dd.st a{
    background:#0099d9;
    color: #fff;
    pointer-events: none;
}
.mainfoot_nav dd a:before{
    content: "→";
    font-size: 14px;
    font-weight: 400;
    
    width: 24px;
    line-height: 24px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
    text-align: center;
    margin-right: 26px;
    border: 1px solid #0099d9 ;
    transform: translateY(-2px);
    background: #fff;
    color: #0099d9 ;
    
}
.mainfoot_nav dd a:hover:before,.mainfoot_nav dd.st a:before{
    color: #fff;
    background: #0099d9 ;
    
}
.mainfoot_nav dd a:after{
    content: "";
    width:26px ;
    height: 6px;
    position: absolute;
    top: 100%;
    left: 0;
    background: #0099d9 ;
}
.mainfoot_nav dd{
    padding: 0 0 8p 0;
}
.mainfoot_nav dt{
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
    .singleproducts .gyoumu .bwrap dd{
        font-size: 16px;
    }
    .singleproducts .gyoumu{
        padding-top: 0px;
        padding-bottom: 20px;
    }
    .singleproducts .pronav{
        padding-bottom: 20px;
    }
    .gyoumu .nextflexb ul > div,.gyoumu .nextflexb.dl > div,.gyoumu .nextflexb > .is-layout-constrained{
        column-count: 1;
    }
    .bwrap{
        padding-top: 20px;
    }
    .singleproducts .intro .tbox,.singleproducts .intro .pics{
        width: 100%;
    }
    .singleproducts .intro .pics{
        padding-top: 10px;
    }
    .h_n_nav{
        padding-top: 0;
        padding-bottom: 0;
    }
    .singlecont ul li{
        width: 100%;
        font-size: 16px;
    }
    .singleproducts h3, .singlecont h3{
        font-size: 22px;
        margin-bottom: 30px;
    }
    .singleproducts .gyoumu .bwrap .nextflexb li, .singleproducts .gyoumu .bwrap .nextflexb dl{
        width: 100%;
    }
    .singleproducts .gyoumu .bwrap li, .singleproducts .gyoumu .bwrap dt{
        font-size: 16px;
    }
    .singleproducts .gyoumu .bwrap dt:before,.singleproducts .gyoumu .bwrap li:before{
        top: 7px;

    }
    .singleproducts .jisseki .box{
        width: 100%;
        margin-right: 0;
    }
    .singleproducts .jisseki .more a:before{
        display: none;
    }
    .singleproducts .jisseki .more a{
        padding-right: 0;
    }
    .mainfoot_nav .box{
        width: 100%;
        margin-bottom: 30px;
    }
    .mainfoot_nav dt{
        padding-bottom: 10px;
    }
    .mainfoot_nav dd a{
        padding: 10px 0;
    }
    .mainfoot_nav dd a::before{
        margin-right: 8px;
        width: 18px;
        line-height: 18px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    .mainfoot_nav dd a{
        position: relative;
        padding-left: 30px;
        line-height: 1.5;
    }
    .mainfoot_nav{
        padding-top: 50px;
        padding-bottom: 0;
    }
    
    .h2m{
        font-size: 20px;
        margin-bottom:30px ;
    }
    .singleproducts h4{
        font-size: 20px;
    }
    .singleproducts .jisseki .box h5,.singleproducts .jisseki .box .year{
        font-size: 18px;
    }
}
.historys{
    padding-bottom: 100px;
}
.history_list{
    position: relative;
}
.history_list .our{
    width: 50%;
}
.history_list .general_post{
    width: 50%;
}
.history_list .general_post .gwrap{
    margin: 0 1em 30px 60px;
}
.history_list:before{
    content: "";
    width: 1px;
    height: 100%;
    background: #ccc;
    position: absolute;
    top: 0;
    left: 50%;
}
.general_post{
    padding: 75px 0 0 0;
} 
.our_post h3{
    padding: 0 60px 20px 0;
    font-size: 16px;
    font-weight: 700;
    color: #1b98d9;
    line-height: 1.4;
}
.our_post h3 a{
    color: #1b98d9;
}
.our_post h3 a:hover{
    text-decoration: underline;
}
.our_post .img_wrap{
    background: #e4f9ff;
    margin: 0 30px 30px 0;
    border-radius: 10px;
    padding: 20px 26px 26px 26px;
}
.our_post .img_wrap p{
    padding: 0 0 20px 0;
}
.our_post .img_wrap h3{
    padding-right: 0;
}
.our_post .img_wrap .wp-block-image{
    padding-bottom: 20px;
}

.our_post .date{
    border-bottom: 1px solid #ccc;
    margin-bottom: 26px;
    position: relative;
    font-size: 20px;
    font-weight: 700;
    padding: 0 0 5px 0;
}
.our_post .date:before{
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background:#44a0db ;
    right: -10px;
    bottom: -10px;
    border-radius: 100%;
}
.our .y.blue{
    text-align: right;
    margin: 0 30px 0 0;
    font-size: 24px;
    color: #1b98d9;
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    padding: 0 0 5px 0;
}
.history_list{
    margin-top: 85px;
}
.history_list .date .n{
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    

}


.general_post .date{
    font-weight: 700;
    padding: 0 0 1em 0;
    font-size: 20px;
}
.general_post h3{
    font-size:16px ;
    font-weight: 700;
    padding: 0 0 10px 0;
}
.general_post .txt p{
    padding: 0 0 20px 0;
}
.our_post .timeline{
    padding: 0 0 40px 0;
}
.nendai .nendai_right{
    font-weight: 700;
    font-size: 24px;
}
.nendai .nendai_left{
    font-weight: 700;
    font-size: 20px;
}
.nendai .nendai_left .n{
    font-family: "Oswald", sans-serif;
    font-size: 36px;
}
.nendai .nendai_left .kara{
    font-size: 36px;
}
.nendai .nendai_left .ay{
    font-size: 24px;
    color: #1b98d9;
    display: inline-block;
    padding: 0 0 0 1em;
}
.nendai{
    padding-bottom: 40px;
}
.era_group{
    position: relative;
    padding-bottom: 80px;
}
.era_group .target{
    position: absolute;
    left: 0;
    top: -90px;
}
.history_list .our.nocont + .general_post{
    padding-top: 0;
}
@media only screen and (max-width: 767px) {
    .nendai .nendai_left .ay{
        display: none;
    }
    .nendai .nendai_right{
        display: none;
    }
    .general_post{
        display: none;
    }

    .general_post .date{
        font-size: 16px;
    }
    .our_post .cont div+h3,.our_post .cont figure+h3,.our_post .cont .img_wrap+h3,.our_post .cont .img_wrap+p{
        margin-top: 20px;
    }
    .our_post .cont h3+div,.our_post .cont h3+figure,.our_post .cont h3+.img_wrap{
        margin-top: -10px;
    }
    .our_post .cont .img_wrap:first-child{
        margin-top: -10px;
    }
    .nendai{
        background: #fff;
        padding-bottom: 20px;
        padding-top: 10px;
    }
    .history_list::before{
        left: 10px;
    }
    .our .y.blue{
        text-align: left;
        background: #fff;
        padding-bottom: 0;
    }
    .nendai .nendai_left .n,.nendai .nendai_left .kara{
        font-size: 26px;
    }
    .nendai .nendai_left{
        font-size: 16px;
    }
    .our_post .date{
        padding-left: 30px;
    }
    .our_post h3{
        padding: 0 0 20px 30px;
    }
    .history_list .our{
        width: 100%;
    }
    .history_list .general_post{
        width: 100%;
        padding-top: 0;
        margin: 0 0 0 30px;
    }
    .history_list .general_post .gwrap{
        margin: 0;
        background: #ddd;
        border-radius: 10px;
        padding: 20px;
        margin-bottom: 20px;
    }
    .our_post .timeline{
        padding-bottom: 20px;
    }
    .our_post .img_wrap{
        margin: 0 0 10px 30px;
    }
    .our_post .img_wrap h3{
        margin-left: 0;
        padding-left: 0;
    }
    .our_post .date::before{
        right: auto;
        left: 0;
    }
    .inner{
        width: 90%;
    }
    .our .y.blue{
        font-size: 20px;
    }
    
    .general_post h3{
        font-size: 16px;
    }
    
    .our_post .date{
        font-size: 16px;
    }
    .history_list .date .wa{
        font-size: 16px;
    }
    
    .history_list{
        margin-top: 50px;
    }
    .era_group .target{
        top: -50px;
    }
    .history_list .nocont{
        display: none;
    }
    
}

#company{
    padding: 0 0 60px 0;
}
#company .box{
    width: 47.5%;
    border: 1px solid #ccc;
    margin: 0 5% 35px 0;
    padding: 0 0 10px 0;
    box-sizing: border-box;
}
#company .box:nth-child(2n){
    margin-right: 0;
}
#company .box .pic{
    display: flex;
    position: relative;
    padding-bottom: 30%;
    overflow: hidden;
}
#company .box .pic img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    transition: transform 0.2s;

}
#company .box .pic a:hover img{
    transform: scale(1.1);
}
#company .box .t{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    text-shadow: 0 0 8px rgba(0,0,0,0.5);
    font-size: 1.8rem;
    z-index: 2;
    width: 100%;
    text-align: center;
}
#company .box .flexb{
    margin: 24px 16px;
}
#company .box .flexb .toall a {
    width: 20px;
    height: 20px;
    border-radius:
  100%;
    background:
  url(images/hb_arrow.png) center calc(50% - 2px) no-repeat #0099d9;
  background-color: #fff;
  background-image:url(images/hb_arrow_on.png) ;
    border:1px solid #0099d9;
    box-sizing: border-box;
    text-indent: -9999px;
    display: block;
  }
  #company .box .flexb .toall a:hover{
    background-color: #0099d9;
    background-image: url(images/hb_arrow.png) ;
  }
  #company .box .flexb li{
    display: inline-block;
    font-weight: 700;
  }
  #company .box .flexb li:before{
    content: "/";
    display: inline-block;
    margin: 0 0.5em;
  }
  #company .box .flexb li:first-child:before{
    display: none;
  }
  #company .box ul{
    width: calc(100% - 30px);
  }
  #company .box .flexb li a:hover{
    text-decoration: underline;
    opacity: 1;
  }
  .mainfoot_nav dt a:after{
    content: "→";
    font-size: 14px;
    font-weight: 400;
    color: #0099d9;
    background:#fff;
    width: 24px;
    line-height: 24px;
    display: inline-block;
    vertical-align: middle;
    border-radius:
  50%;
    text-align: center;
    margin-left: 8px;
    border:
  1px solid #0099d9;
    transform: translateY(-2px);
  }
  .mainfoot_nav dt a:after:hover{
    background-color: #fff;
    color: #0099d9;
  }
  @media only screen and (max-width: 767px) {
    
    #company .box{
        padding-bottom: 0;
        width: 100%;
        margin-right: 0 !important;
    }
    #company .box .t{
        font-size: 1.4rem;
    }
  }
  .up100{
    padding-top: 80px;
  }
.scroll table{
    border-collapse: collapse;
}
.scroll table th{
    padding: 5px 10px !important; 
    box-sizing: border-box;
}
.scroll table th,#group table th,.office_wrap table th{
    border-left:1px solid #ccc !important ;
    border-right: none !important;
}
.scroll table tr:first-child th,#group table tr:first-child th,.office_wrap table tr:first-child th{
    border-top:1px solid #ccc !important ;
}
.scroll table tr:last-child th,#group table tr:last-child th,.office_wrap table tr:last-child th{
    border-bottom:1px solid #ccc !important ;
}
.scroll table td{
    padding: 5px 10px !important;
    box-sizing: border-box; 
}
#member ul {
  width: 50%;
  box-sizing: border-box;
  padding-right: 2.5%;
  font-weight: 700;
	display:block;
}
#member ul li{
	font-weight: 500;
}
#member .nextflexb{
    width: 90%;
    margin:
  0 auto;
}
#member ul{
    padding-bottom: 10px;
}
#group .box,.office_wrap .box{
    width: 46.33%;
    padding-bottom: 30px;
	scroll-margin-top: 80px;
    padding-top: 10px;
}

#group h4,.office_wrap h4{
    font-size: 24px;
    font-weight: 780;
    border-bottom:#0585c1 5px solid;
    margin-bottom: 40px;
}
#board h4{
    font-size: 26px;
    font-weight: 700;
    padding: 0 0 20px 0;
}
#board .date{
    max-width: 700px;
    margin: -1em auto 10px auto;
}
#board .sbox + .sbox{
	padding-top:100px;
}
#profile{
    padding-bottom: 120px;
}
#information .scroll{
    max-width: 700px;
    margin: 0 auto;
}
#enterprise .scroll{
    max-width: 700px;
    margin: 0 auto;
}
.yakuin .scroll{
    max-width: 700px;
    margin: 0 auto;
}
#qualification .scroll{
    max-width: 700px;
    margin: 0 auto;
}
#board h4{
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.town .h_n_nav li,.sato .h_n_nav li,#office .h_n_nav li,#profile .h_n_nav li{
    width: calc(100% / 6);
}
@media only screen and (max-width: 767px) {
    .town .h_n_nav li,.sato .h_n_nav li,#office .h_n_nav li,#profile .h_n_nav li,#profile .pronav .h_n_nav li{
        width: calc(100% /3 - 4px);
    }
    .pronav .h_n_nav li{
        width: calc(100% / 2 - 4px) ;

    }
    #information,#management-philosophy{
        margin-top: -30px;
    }
    #member ul {
        width: 100%;
		padding-bottom:0;
    }
	#member ul:last-child{
		padding-bottom:20px;
	}
    #group .box{
        width: 100%;
    }
    #group h4,.office_wrap h4{
        font-size: 20px;
        margin-bottom: 20px;
    }
    .scroll table{
        width: 1000px !important;
        max-width: none !important;
    }
    .scroll {
        overflow-y: auto;
    }
    #board h4{
        font-size: 20px;
        padding-bottom: 10px;
    }
    .scroll th{
        width: 120px !important;
        line-height: 1.4;
    }
    .scroll .hito{
        width: 75px !important;
    }
    #group th{
        line-height: 1.4;
    }
    map area {
        pointer-events: none;
        cursor: default; /* ホバー時の矢印カーソルに */
      }
}
#management-philosophy .wp-block-image{
    padding: 40px 0;
}
#greeting h4{
    font-size: 24px;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    padding: 0 0 30px 0;
    font-weight: bold;

}
#greeting .pic{
    width: 35%;
    display: flex;
    align-items: center;
}
#greeting .tbox{
    width: 60%;
}
#greeting p{
    padding: 0 0 20px 0;
}
#greeting dl{
    width: 100%;
    text-align: right;
    padding:0 0 20px 0;
}
#greeting dt{
    font-weight: 700;
}
#greeting dd{
    font-size:24px ;
    font-weight: 700;
    text-align: right;
}
#greeting dd .dai{
    font-size:16px ;
    margin-right: 1em;
}
#ethic p,#corporatecertification  .bwrap p{
    padding: 0 0 20px 0;
}
#ethic .bwrap{
    margin-top: 20px;
	margin-bottom:0;
}
#ethic .bwrap > div,#corporatecertification  .bwrap > div{
    width: 90%;
    margin: 0 auto;
}

#ethic h4{
    font-size:20px ;
    font-weight: 700;
    padding: 0 0 26px 0;
}
#corporatecertification h4 {
    font-size: 24px;
    font-weight: 700;
    border-bottom: 1px solid #ccc;
    padding: 0 0 10px 0;
    margin-bottom: 20px;
}
#corporatecertification p{
    padding: 0 0 20px 0;
}
#corporatecertification figcaption{
    text-align: center;
    padding: 10px 0;
}
#ethic dt,#corporatecertification dt{
    font-weight: 700;
}
#ethic dd,#corporatecertification dd{
    padding-left: 2em;
}
#ethic dl,#corporatecertification dl{
    padding: 0 0 20px 0;
}
.philosophy_other li{
    width: 49.17%;
}
.nextflexb ul{
    width: 100%;
}
.philosophy_other li a{
    display: block;
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
    position: relative;
    font-weight: bold;
}
.philosophy_other li a:before{
    content: "";
    width: 60px;
    height: 3px;
    background:#44a0db ;
    position: absolute;
    bottom: -1px;
    left: 0;

}
.philosophy_other li{

    margin-bottom: 20px;
}
.philosophy_other li a:after{
    content: "";
    width: 13px;
    height: 13px;
    display: inline-block;
    background: url(images/blank.png) 0 0 no-repeat;
    vertical-align: middle;
    margin-left: 8px;
}
.philosophy_other li a:hover{
    text-decoration: underline;
}
#philosophy{
    padding: 0 0 120px 0;
}
.office_wrap h4{
    font-weight: 500;
}

.office_wrap td,.office_wrap th{
    padding: 16px 20px !important;

}
@media only screen and (max-width: 767px) {
    #greeting h4{
        font-size: 20px;
        padding: 30px 0 20px 0;
    }
    #greeting dd{
        font-size: 20px;
    }
    #greeting dt{
        font-size: 14px;
    }
    #greeting dd .dai{
        font-size: 14px;
    }
    .philosophy_other li{
        width: 100%;
    }
    .up100{
        padding-top: 50px;
    }
    .office_wrap .box{
        width: 100%;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }
}
#office{
    padding-bottom: 120px;
}
.office_nav{
    padding: 45px 0 0 0;
}
.office_nav p a{
    display: block;
    max-width:400px ;
    padding: 26px 20px;
    position: relative;
    border: 1px solid #ccc;
    font-size: 18px;
    font-weight: 700;
}
.office_nav p a:after{
    content: "";
        width: 20px;
        height: 20px;
        border-radius:
      100%;
        background:
      url(images/hb_arrow.png) center calc(50% - 2px) no-repeat #0099d9;
        border:
      1px solid #0099d9;
        box-sizing: border-box;
        text-indent: -9999px;
        display: block;
        position: absolute;
        top: 50%;
        left: calc(100% - 36px);
        transform: translateY(-50%);
        background-color: #fff;
    background-image: url(images/hb_arrow_on.png);
}
.office_nav p a:hover:after{
    background-color: #0099d9;
    background-image: url(images/hb_arrow.png);
}
.office_nav p{
    padding: 0 0 20px 0;
}
.office_wrap td a{
    text-decoration: underline;
    color: #44a0db;
}
.office_wrap td a:after{
    content: "";
    width:14px ;
    height: 19px;
    background: url(images/office_pin.png) 0 0 no-repeat;
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px;
}
.h3h{
    font-size: 24px;
    border-bottom:
  1px solid #ccc;
    position: relative;
    line-height: 2.2;
    margin-bottom: 60px;
    font-weight: 500;
}
.h3h:before{
    content: "";
    width: 60px;
    height: 3px;
    top: calc(100% - 1px);
    left: 0;
    background:
  #44a0db;
    font-weight: 500;
    position: absolute;
}
#office .group li{
    margin:
  0 3.75% 20px 0;
    width: 30.83%;
}
#office .group li:nth-child(3n){
    margin-right: 0;
}
#office .group li strong{
    display: block;
    padding: 0 0 5px 0;
}
#office .group li strong code{
    font-size: 14px;
}
#office .group li a:hover{
    opacity: 0.7;
}
@media only screen and (max-width: 767px) {
    .office_wrap td, .office_wrap th {
        padding:10px !important;
    }
    .h3h{
        font-size: 22px;
        margin-bottom: 30px;
    }
    #office .group li{
        width: 100%;
        max-width: 370px;
        margin-right: 0;
        margin-left: auto;
        margin-right: auto;
    }
}


.kyotit h2{
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    font-size: 54px;
    padding: 0 0 70px 0;
    font-weight: bold;
}
.kyotit{
    position: relative;
    border-bottom: #132a36 10px solid;

}
.kyotit .pic{
    position: absolute;
    bottom: -1px;
    right: 0;
    max-width:1081px;
    width: 60%;

}
.kyobk{
    background-image: url(images/kyo_bk_left.png),url(images/kyo_bk_right.png);
    background-repeat: no-repeat;
    background-position: left 0, right 0;
    background-color: #51637b;
}
.kyointro .inner{
    padding: 125px 0 120px 0;
    position: relative;
}
.kyointro p{
    text-align: center;
    color: #fff;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    line-height: 2.1;
    padding: 0 0 36px 0;
}
.kyointro {
    margin-bottom: 100px;
}
.kyointro .leftpic{
    position: absolute;
    top: 50%;
    left: 3%;
    transform: translateY(-50%);
}
.kyointro .rightpic{
    position: absolute;
    top: 50%;
    right: 4%;
    transform: translateY(-50%);
}
.kyointro .txt{
    position: relative;
    z-index: 3;
}
.kyointro .txt.sp{
    display: none;
}
.kyomap{
    background: url(images/kyomap_bk.png) center 50% no-repeat;
    background-size: cover;
    position: relative;
    margin-bottom: 200px;
}
.kyomap h3{
    position: absolute;
    width: 50%;
    top: 0;
    left: 0;
    
}

.kyo_bottom{
    text-align: center;
    position: absolute;
    z-index: 200;
    z-index: -1;
    left: 50%;
    transform: translate(-50%,0);
    bottom: calc(100% + 100vw * 130 / 1812.67 / 2);
}
.popup-box {
  display: none; /* 初期は非表示 */
  position: absolute; /* クリック位置に合わせて配置 */
  background-color: #102631; /* 黒背景 */
  color: #fff;
  z-index: 99;
  max-width: 280px; /* 必要に応じて調整 */
  box-shadow: 0 2px 10px rgba(0,0,0,0.5);
  box-sizing: border-box;
  padding: 10px;
  text-align: center;
}

.popup-box dt+dd{
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    padding: 5px 0;
}
.popup-box dd+dd{
    text-align: center;
    padding-bottom: 5px;
}
.popup-box dd+dd a{
    background: #2ca0da;
    display: block;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    color: #fff;
}
.popup-box:before{
    width: 0;
    height: 0;
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left: 13px solid transparent;  /* 幅の半分: 26/2 = 13px */
    border-right: 13px solid transparent;
    border-top: 24px solid #102631;       /* 高さ24px */
  }
.map-pc2{
    display: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.kyo_detail{
    margin-bottom: 250px;
    padding: 85px 0 80px 0;
}
.kyo_detail .inner{
    max-width: 1100px;
}
.kyo_detail h3{
    text-align: center;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    color: #fff;
    font-weight: bold;
    font-size: 38px;
    margin-bottom: 80px;
}
.kyo_detail h3:after{
    content: "";
    display: block;
    width: 100%;
    height: 6px;
    background: url(images/kyo_border.png) 0 0 repeat-x;
}
.kyo_detail .txt{
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 50px 0;
}
.kyo_detail .txt p{
    color: #fff;
    padding: 0 0 20px 0;
}
.kyo_detail .txt p strong{
    color:#dccd26 ;
}
.kyo_detail .back{
    text-align: center;
    padding: 0 0 20px 0;
}
.kyo_detail .back a{
    background:#918b4b url(images/back.png) 10px 50% no-repeat;
    display: inline-block;
    width: 100%;
    max-width: 220px;
    text-align: center;
    font-family: "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "YuMincho", "HG明朝", "Sawarabi Mincho", serif;
    font-size: 18px;
    color: #fff;
    padding: 10px 0;
}
.kyo_detail .back a:hover{
    opacity: 0.7;
}
.kyo_detail .wp-block-columns,.kyo_detail .wp-block-image{
    margin-bottom: 30px;  
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;    
}
@media only screen and (max-width: 1280px) {
    .map-pc2{
        display: block;
    }
    .map-pc{
        display: none;
    }
    .kyo_bottom{
        bottom: calc(100% + 100vw * 90 / 1812.67 / 2);
    }
}
@media only screen and (max-width: 767px) {
    .kyointro .rightpic,.kyointro .leftpic{
        display: none;
    }
    .kyobk{
        background-image: url(images/kyo_bk_left.png);
    }
    .kyointro .inner{
        padding: 50px 0;
    }
    .kyointro p{
        line-height: 1.6;
        text-align: left;
        font-size: 14px;
    }
    .kyo_detail{
        margin-bottom: 150px;
    }
    .popup-box{
        display: block !important;
        position: relative;
        top: auto;
        transform: none;
        box-shadow: none;
    }
    .kyointro .txt{
        display: none;
    }
    .kyointro{
        text-align: center;
    }
    .kyointro .txt.sp{
        display: inline-block;
    }
    .kyointro .txt.sp p{
        text-align: left;
    }
    .popup-box dt{
        position: relative;
        padding-bottom: 65%;
    }
    .popup-box dt .pic{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }
    .popup-box dt .pic img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .kyolist li{
        width: 50%;
    }
    .kyolist li div.popup-box{
        width: 100%;
        max-width: none;
    }
    .kyomap,.map-pc2{
        margin-bottom: 0;
    }
    .kyolist{
        margin-bottom: 140px;
        background: #102631;
    }
    .popup-box:before{
        display: none;
    }
    .kyotit h2{
        font-size: 24px;
        padding: 40px 0;
    }
    .kyo_detail .txt{
        max-width: 100%;
    }
    .kyo_detail h3{
        font-size: 24px;
    }
    .kyo_detail .wp-block-columns,.kyo_detail .wp-block-image{
        max-width: none;
    }
    

}
#contact{
    padding: 0 0 100px 0;
}
#contact .txt2{
    display: none;
}
#contact .txt p,#contact .txt2 p{
    padding: 0 0 20px 0;
}
#contact .txt p a{
    text-decoration: underline;
}
#contact .txt,#contact .txt2{
    padding: 0 0 40px 0;
}
#contact .mw_wp_form_confirm .txt{
    display: none;
}
#contact .mw_wp_form_confirm .txt2{
    display: block;
}
.his{
    display: inline-block;
    background: #44a0db;
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    padding: 0 0.8em;
    line-height: 1.6;
}
#contact .table th{
    width: 300px;
    box-sizing: border-box;
    text-align: left;
    font-weight: normal;
    padding: 18px 0;
    vertical-align: top;
    position: relative;
    font-size: 18px;
}
#contact .table th .his{
    position: absolute;
    right: 15px;
}
#contact .table td{
    width: 900px;
    font-size: 18px;
}
#contact .table td .ch{
    display: inline-block;
    vertical-align: middle;
    line-height: 1.4;
    margin-left: 0.5em;
}
#contact .table td{
    padding: 12px 0;
}
#contact .table td input[type="text"],#contact .table td input[type="email"]{
    box-sizing: border-box;
    padding: 5px;
    min-width: 5em;
}
#contact .table td input[type="email"] + .error{
    position: relative;
}
#contact .table td .size1{
    width: 100%;
    max-width: 800px;
}
#contact .table td input[type="email"]{
    width:100% ;
    max-width:590px ;
}
#contact .table td .namae{
    width: 32%;
}
#contact .table td .size1{
    width: 100%;
}
#contact .table td label .l{
    margin-right: 1em;
    display: inline-block;
    width: 2em;
    text-align: right;
}
#contact .table td label + label{
    margin-left: 2em;
}
#contact .table {
    border-bottom: 1px solid #44a0db;
    padding: 0 0 30px 0;
    margin-bottom: 30px;
   
}
#contact .table table{
    width: 100%;
}
#contact .doui{
    text-align: center;
    padding: 0 0 20px 0;
}
#contact .doui .error{
    display: inline-block !important;
    background: none !important;
    width: auto !important;
    position:  relative !important;

}

#contact .form_btn{
    text-align: center;
}
#contact .mw_wp_form_input .form_btn{
    display: block;
    padding-top: 5px;
}
#contact .form_btn input[type="submit"]{
    background: url(images/form_btn.png) calc(100% - 10px) 50% no-repeat;
    font-weight: normal;
    border: 1px solid #44a0db;
    width: 100%;
    max-width: 300px;
    text-align: center;
    color:#44a0db ;
    font-size: 18px;
    padding: 18px 0;
    cursor: pointer;
}

#contact .form_btn input[type="submit"]:hover{
    opacity: 0.7;
}
#contact .mw_wp_form_confirm .table td label .l{
    display: none;
}
#contact .mw_wp_form_confirm .table td .ch{
    display: none;
}
#contact .mw_wp_form_confirm .table td{
    border: 1px solid #ccc;
    padding: 10px 2.5%;
    min-height: 1em;
}
#contact .doui .mwform-checkbox-field-text{
    display: none;
}
#contact .doui a{
    text-decoration: underline;
}
#contact .mw_wp_form_confirm .doui{
    display: none;
}
#contact .mw_wp_form_confirm .form_btn li{
    width: 46%;
    margin-left: 2%;
    margin-right: 2%;
    max-width: 250px;
}
#contact .mw_wp_form_confirm .form_btn li.back button{
    font-weight: normal;
    border:
  1px solid #ccc;
    width: 100%;
    max-width: 300px;
    text-align: center;
    font-size: 18px;
    padding:
  18px 0;
    cursor: pointer;
  }
  .tahnks p{
    padding: 0 0 20px 0;
  }
  #contact .mw_wp_form .error{
    position: absolute;
    background: #fff;
    padding: 0 5px;
    width: 100%;
    box-sizing: border-box;
  }
@media only screen and (max-width: 767px) {
    #contact .table th{
        width: 100%;
        display: block;
        max-width: 300px;
        padding-bottom: 10px;
    }
    #contact .table td{
        width: 100%;
        display: block;
    }
    #contact .table th .his{
        position: relative;
        right: auto;
        top: auto;
        margin-left: 1em;
    }
    #contact .table td .namae{
        width: calc(100% - 4em);
    }
    #contact .table td label + label{
        margin-left: 0;
    }
    #contact .table td label{
        display: inline-block;
        margin-bottom: 5px;
    }
    #contact .form_btn input[type="submit"]{
        background: none;
    }
    #corporatecertification .wp-block-image{
        text-align: center;
    }
    #contact .table td textarea{
        padding: 5px;
    }
}
#profile .shikaku_table .bumon{
    border-top:none;
    border-left: none;
    border-bottom:1px solid #ccc ;
    border-right:1px solid #ccc ;
    border-top: none !important;
    
}
#profile .shikaku_table td.ncon{
    border-top: none !important;
}
#profile .shikaku_table .bw{
    border-bottom: none !important;
}

#profile .shikaku_table td .w{
    color: #fff;
}
#profile .shikaku_table td + td{
    border-right: 1px solid #ccc;
}
#profile .ol{
    border: none;
    border-left:1px solid #ccc ;
}
#profile .lb{
    border: none;
    border-bottom:1px solid #ccc ;
    border-left: 1px solid  #ccc;
}
#profile .tl{
    border: none;
    border-top:1px solid #ccc ;
    border-left: 1px solid #ccc;
}
#profile .trb{
    border: 1px solid #ccc;
    border-left: none;
}
#profile .or{
    border: none;
    border-right: 1px solid #ccc;
}
#profile .br{
    border: none;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
#profile .tr{
    border: none;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
#profile table th,#profile table td{
    font-size: 18px;
}
#profile .shikakusya_table table td:last-child{
    box-sizing: border-box;
    text-align: right;
}
#profile table td a{
    color:#1b98d9 ;
    text-decoration: underline;
}
#profile table th{
    background: #e4f9ff !important;
    color: #333 !important;
    font-weight: normal !important;
    text-align: left;
    border: 1px solid #ccc !important;

}
#profile table td{
    border: 1px solid #ccc !important;
}
#profile table .enkaku{
    margin-top: 1px;
}
#profile table td.rw{
    border-right-color:#fff !important;
}
#profile table td.lw{
    border-left-color:#fff !important;
}
#profile table td .mt{
    display: inline-block;
    text-align: right;
    width: 3em;
    padding: 0 1.5em 0 0;
}
#profile table td .nen{
	width: 11em;
    display: inline-block;
	font-feature-settings: "palt";
}
#profile table td .nen .w{
	color:#fff;
}
#group h4 code{
    font-size: 18px;
}
#corporatecertification .bwrap{
	margin-bottom:0;
	margin-top:20px;
}
@media only screen and (max-width: 767px) {
    #group h4 code{
        font-size: 16px;
    }
    #profile table th, #profile table td{
        font-size: 12px;
        line-height: 1.6;
    
    }
    #profile .shikaku_table .bw.bcs{
        border-bottom: 1px solid #ccc !important;
    }
    
    .scroll table td {
        padding: 5px 5px !important;
        box-sizing: border-box;
    }
    .scroll table th{
        padding: 5px 5px !important;
    }
    #profile table td .nen{
        display: block;
    }
    #profile table td .bun{
        display: inline-block;
        padding-left: 1em;
    }
    #member ul li{
        font-weight: 400;
    }
    

}
.sabnav{
    position: relative;
}
.sabnav .profnav{
    position:absolute;
    top: -125px;
    bottom: 0;
    right: 0;
    width: 150px;
    
}
.sabnav .profnav ul{
    position: sticky;
    top: 0;
    right: 0;
    padding-top: 88px;
    z-index: 5;
}
.sabnav .profnav ul li {
    padding: 0 0 3px 0;
}
.sabnav .profnav ul li a{
    display: block;
    padding: 35px 0;
    text-align: center;
    background: #000;
    color: #fff;
    font-weight: 700;
    background-position: center 50%;
    background-repeat: no-repeat;
    background-size: cover;
    text-shadow: 0 0 8px rgba(0,0,0,0.5);
}
.sabnav .profnav ul li.profnav1 a{
    background-image: url(images/profile/co1_img.jpg);
}
.sabnav .profnav ul li.profnav2 a{
    background-image: url(images/profile/co2_img.jpg);
}
.sabnav .profnav ul li.profnav3 a{
    background-image: url(images/profile/co3_img.jpg);
}
.sabnav .profnav ul li.profnav4 a{
    background-image: url(images/profile/co4_img.jpg);
}
.sabnav .profnav ul li a:hover{
    opacity: 0.7;
}
.totop {
    position: fixed;
    bottom: 60px;
    right: 10px;
    z-index: 40;
    transform: translateY(150px);
    transition-duration: 0.5s;
    z-index: 40;
}
.totop a {
    display: block;
    text-indent: -9999px;
    width: 68px;
    height: 68px;
    border-radius: 100%;
    background: url(images/more_b.png) center 50% no-repeat #fff;
    box-sizing: border-box;
    border: 1px solid #44a0db;
    transform: rotate(-90deg);
}
.totop a:hover{
    background: url(images/more_w.png) center 50% no-repeat #44a0db;
}
.goto_top .totop {
    transform: translateY(0);
}
.form .h3h{
   margin-bottom: 30px;
}
.smartseal {
    border: 2px solid #0088cc;
    padding: 20px;
    overflow: hidden;
    width: 73%;
    margin: 0 auto;
      margin-top: 0px;
    margin-top: 50px;
    max-width: 500px;
}
section::after {
    content: "";
    display: table;
    clear: both;
}
.smartseal .logo {
    float: left;
    margin: 0 15px 0 0;
}

@media only screen and (max-width: 1300px) {
    .sabnav .profnav ul{
        padding-top: 70px;
    }
    .sabnav .profnav{
        top: -106px;
        
    }
    #header.active .gnav li a .e{
        display: block;
        text-align: left;
        height: auto !important;
        line-height: 1.1;
    }

}
@media only screen and (max-width: 767px) {
    .sabnav .profnav ul{
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 0;
        top: auto;
        display: flex;
        background: #000;
        min-width: 300px;
    }
    
    .sabnav .profnav ul li{
        width: calc(100% / 3);
        padding: 0;
    }
    .sabnav .profnav{
        top: auto;
        position: relative;
        width: auto;
    }
    .sabnav .profnav ul li a{
        padding: 18px 0;
    }
    #footer{
        padding-bottom: 45px;
    }
    .totop a {
        width: 30px;
        height: 30px;
        background-image: none;
        text-indent: 0;
        line-height: 30px;
        color:#44a0db ;
        text-align: center;
        transform: none;
    }
    .totop a:hover{
        background-color: #fff;
        
    }
    .smartseal .logo {
        float: none;
        text-align: center;
        padding: 0 0 10px 0;
    }
    body.over {
        position: absolute;
  right: 0;
  left: 0;
  width: 100%;  
  overflow: hidden;
    }

    #contact .mw_wp_form input + .error{
        position: relative;
    }
    #contact .mw_wp_form #tel2+.error,#contact .mw_wp_form #tel1+.error,#contact .mw_wp_form #tel3+.error{
        position: absolute;
        
    }
    #contact .mw_wp_form #zip1 + .error,#contact .mw_wp_form #zip2 + .error {
        padding-bottom: 5px;
        position: absolute;
    }
    
    #contact .table td .ch{
        display: block;
        text-align: right;
    }
    #greeting .tbox{
        width: 100%;
    }
    #greeting .pic{
        width: 100%;
        text-align: center;
    }
    
    
.foot_copy ul li a::before{
    top: 4px;
}
    #greeting h4 br{
        display: none;
    }
    #company .toall{
        display: none;

    }
    #company .box .flexb{
        margin: 20px 10px;
    }
    #company .box .flexb li:before{
        content: "・";
        display: inline !important;
        margin: 0;
       color: #44a0db;
    }
    #company .box .flexb li{
        margin-right: 0.5em;
        line-height: 1.6;
        text-indent: -0.5em;
        padding-left: 0.5em;
        font-size: 14px;
    }
    #board .sbox + .sbox{
        padding-top: 0;
    }
    #profile{
        padding-bottom: 50px;
    }
    
  
}
.officemap{
    text-align: center;
}

.home_about2 .bklogo{
    display: none;
}
.home_about2 .imgs{
    min-height: 0;
}

.home_about2 .home_co li a{
    display: flex;
}
.home_about2 .home_co li a .txt{
    z-index: 3;
}
.home_about2 .tbox{
    padding: 20px 0 0 0;
    position: relative;
    z-index: 3;
}
.home_about2{
    background: #fff;
    padding: 100px 0;
    margin-bottom: 0px;
    background: #e3f8fe url(images/pickup_bk.png) center bottom no-repeat;
    background-color:rgb(227,248,254) !important;
    background-size: cover;
}

.home_about2 .home_co li{
    width: calc(100% / 2);
}
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
.home_bk .bottom_bk{
    content: "";
    z-index: 10;
    position: absolute;
    top :0;
    height: auto;
    left: 0;
    right: 0;
}
.home_bk .bottom_bk img{
    width: 100%;
    height: auto;
    max-width: none;
}
.home_bk{
    padding-bottom: 50px;
}
.home_pick{
    z-index: 5;
}
.home_pick h2{
    padding-bottom: 20px;
}
.home_pick .h_new_nav h2{
    text-align: left;
    padding: 0 20px 20px 0;
}

.home_pick .right{
    width: 50%;
}
.home_pick .left{
    width: 50%;
}
.home_pick{
    padding: 50px 0;
}
.home_pick .to_list{
    padding: 5px 0 0 0;
}
.home_pick .to_list a{
    display: inline-block;
    padding: 8px 1em;
    background: #44a0db;
    color: #fff;
    font-weight: 500;
    border-radius: 100px;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #44a0db;
}
.home_pick .to_list a:hover{
    color: #44a0db;
    background: #fff;
}
.home_about .more a:before{
    display: none;
}
.home_about .more a:after {
    content: "";
    width: 68px;
    height: 68px;
    border-radius: 100%;
    box-sizing: border-box;
    border: 1px solid #0099d9;
    position: absolute;
    display: inline-block;
    background: #fff url(images/more_hv.png) center calc(50% - 3px) no-repeat;
    vertical-align: middle;
    transform: translateY(-25px);
    margin-left: 10px;
}
.home_about .more a{
    padding: 0 80px 0 0;
}
.home_about .more a:hover:after{
    background-color:#0099d9 ;
    background-image: url(images/more.png);
}
.home_pick .tg a{
    display: block;
    position: absolute;
    top: -200px;
}
.home_pick .tg{
    position: relative;
}
.h_new_nav{
    padding-bottom: 30px;
}
#main #footer{
    position: absolute;
    padding-top: 0;
}
.totop .sp{
    display: none;
}
@media only screen and (max-width: 767px) {
    .home_co li a .txt{
        font-size: 1.1rem;
    }
    .totop .sp{
        display: block;
    }
    .totop .pc{
        display: none;
    }
    .home_about2{
        background: none !important;
        padding-bottom: 30px;
    }
    .home_co li a:before{
        padding-bottom: 100%;
    }
    .home_about2 .tbox{
        padding: 40px 0 20px 0;
    }
    .home_business{
        padding: 80px 0 0px 0;
    }
    .home_business .flexb{
        padding-bottom: 0;
    }
    .home_pick{
        padding-top: 80px;
    }
    .home_about .more a:after{
        width: 30px;
        height: 30px;
        transform: translateY(0);
    }
    .more a::before{
        width: 30px;
        height: 30px;

    }
    .more.r a{
        padding: 0 40px 0 0;
    }
    .home_pick .left{
        width: 100%;
    }
    .home_pick .right{
        width: 100%;
        padding:20px 0 30px 0;
    }
    .home_about .txt{
        padding-bottom: 0;
    }
    .home_rec .txt{
        padding-bottom: 0;
    }
    .home_about2{
        padding-top: 0;
    }
    #home_sitmap{
        display: none;
    }
    #information th{
        display: block;
        width: 100% !important;
    }
    #information td{
        display: block;
        width: 100% !important;
        margin-top: 1px;
        margin-bottom:1px ;
    }
    #information .scroll table,#enterprise .scroll table,.yakuin .scroll table,#qualification .scroll table{
        width: 100% !important;
    }
    #enterprise table th:first-child{
        display: block;
        width: 100% !important;
    }
    #enterprise table td{
        display: block;
        width: 100% !important;
        margin-top: 1px;
    }
    #profile #enterprise  .lb,#profile #enterprise .shikaku_table .bumon,#profile #enterprise .shikaku_table .trb,#profile #enterprise .shikaku_table .tr,#profile #enterprise .shikaku_table .tl,#profile #enterprise .shikaku_table .ol{
        border: 1px solid #ccc;
        border-bottom:none;
    }
    #profile #enterprise .shikaku_table tr:last-child .trb{
        border-bottom:1px solid #ccc;
    }
    #profile #enterprise .shikaku_table .ncon{
        display: none;
    }
    #board .yakuin table th{
        display: block;
        width: 100% !important;
        border-bottom: none !important;
        border-top: none !important;
    }
   #board .yakuin table{
    border-top:1px solid #ccc !important;
   }
    #board .yakuin table td{
        display: block;
        width: 100% !important;
        border-bottom: none !important;
        
        
    }
    #board .yakuin table td .syagai{
        display: block;
    }
    #board .yakuin table td:first-child{
        
        border-bottom: none !important;
        border-top: none !important;
    }
    #profile table td.rw {
    border-bottom: none !important;
    border-right: 1px solid #ccc !important;
  }
    #board .yakuin table td:last-child{
        border-bottom:1px solid #ccc !important;
        padding-top:0 !important ;
        padding-left: calc(1em + 5px) !important;
    }
    #board .yakuin table td.lw{
    border-left-color: #ccc !important;
    padding-top: 0px !important;
    border-top: none !important;
    border-bottom: 1px solid #ccc !important;
  }
    .home_bk{
        padding-bottom: 0;
    }
    .home_pick{
        padding-top: 40px;
    }
    .home_pick .box{
        padding-bottom: 0;
    }
    .home_pick .flex{
        padding-bottom: 0;
    }
    .home_rec{
        padding: 40px 0;
    }
    .foot_cont .foot_nav dd, .foot_cont .foot_info dt, .foot_cont .foot_info dd{
        font-size: 14px;
    }
    .h2m{
        padding-bottom: 2px;
    }

}

.pp-viewing-home_company #header,.pp-viewing-home_busines #header,.pp-viewing-home_news #header,.pp-viewing-home_recruit #header,.pp-viewing-home_footer #header{
    display: none;

}
#home_footer .footer{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

}
 .pp-viewing-home_company #home_company{
    padding: 0;
 }
 .pp-viewing-home_busines #home_busines .home_business{
    padding-top: 20px;
    padding-bottom: 20px;
 }
 .pp-viewing-home_news .home_pick{
    padding-top: 0;
    padding-bottom: 0;
 }
 .pp-viewing-home_recruit .home_rec{
    padding: 0;
 }
 #home_sitmap .youtube a {
    background: #fff;
    display: inline-block;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 5px;
}
#home_sitmap .youtube {
    text-align: right;
    padding: 20px 0 0;
}
.pp-viewing-home_busines .home_bk .bottom_bk{
    display: none;
}
.pp-viewing-home_busines .home_bk{
    padding-bottom: 0;
}
.logo_btm{
    display: none;
}
.pp-viewing-home_company .logo_btm,.pp-viewing-home_busines .logo_btm,.pp-viewing-home_news .logo_btm,.pp-viewing-home_recruit .logo_btm,.pp-viewing-home_footer .logo_btm{
    display: block;
    position: absolute;
    bottom: 10px;
    left: 10px;
    width: 150px;
    opacity: 0.6;

}
.pp-viewing-home_company .totop,.pp-viewing-home_busines .totop,.pp-viewing-home_news .totop,.pp-viewing-home_recruit .totop,.pp-viewing-home_footer .totop{
    transform: translateY(0);
}

.mv_news.sp{
    display: none;
}
.error-summary{
	text-align: center;
}
.error-summary .error{
	display: none;
}
.error-summary .error ~ .summary-text {
	display: block;
	color: #B70000;
}
.error-summary .error ~ .summary-text:before{
	content: "必須項目に未入力があります";
}

@media only screen and (max-width: 767px) {
    #home_company .mv_news {
        background: #fff;
    }
    #home_about{
        padding-top: 10px;
    }
}
.kki{
    display: inline-block;
}

/* Lightbox2 のデフォルトスタイルを上書き */
#lightbox {
    position: fixed !important;    /* ビューポートに対して固定配置 */
    top: 50% !important;           /* 縦方向に50% */
    left: 50% !important;          /* 横方向に50% */
    transform: translate(-50%, -50%) !important; /* 自身の幅・高さの半分だけずらす */
    margin: 0 !important;          /* デフォルトのマージンをリセット */
  }
  .wp-element-caption{
    font-size: 13px;
  }

#search .page-title {
    font-size: 34px;
    font-weight: 500;
    padding: 20px 0 30px 0;
    border-bottom: 1px solid #ccc;
    margin-bottom: 30px;
}

#search h3{
    font-size: 20px;
    border-bottom: 1px solid #ccc;
    position: relative;
    line-height: 1.6;
    padding-bottom: 8px;
    margin-bottom: 10px;
    font-weight: 500;
}
#search h3:before {
    content: "";
    width: 60px;
    height: 3px;
    top: calc(100% - 1px);
    left: 0;
    background: #44a0db;
    font-weight: 500;
    position: absolute;
}

#search article p{
    padding: 0 0 20px 0;
}
#search article p .b{
    color:#1b98d9 ;
}
#search article p .b a{
    color:#1b98d9 ;
}
#search{
    padding: 0 0 50px 0;
}
#search article{
    padding: 0 0 10px 0;
}
.sitemap_main .foot_cont .foot_nav dd a,.sitemap_main .foot_cont .foot_nav li a,.foot_cont .foot_nav dd li a{
    color: #333;
}
.foot_cont .foot_nav dd li a{
    font-weight: 400;
    font-size: 16px;
}
.foot_cont .foot_nav dd li{
    padding-bottom: 0;
}
.foot_cont .foot_nav dd ul{
    padding-left: 1em;
}
.foot_cont .foot_nav dd li a:before{
    display: none;
}
.sitemap_main .foot_cont .foot_nav dt a{
    color: #333;
}
.sitemap_main .foot_copy ul li a{
    color: #333;
}
.sitemap_main .foot_cont{
    padding-bottom: 0;
}
.sitemap_main .foot_copy{
    padding-top: 0;
}
#home_sitmap.sitemap_main .youtube a{
    border: 1px solid #ccc;
}
.sitemap_main .foot_cont .foot_nav dd a::before{
    color: #1b98d9;
}
.sitemap_main .foot_cont .foot_nav{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
.sitemap_main .foot_copy{
    max-width: 900px;
    padding-top: 10px;
}
.loader {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 555;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
    #home_sitmap.sitemap_main {
        display: block;
    }
    #home_sitmap.sitemap_main .foot_cont .foot_nav{
        display: block;
        width: 90%;
    margin: 0 auto;
    }
    #home_sitmap.sitemap_main .foot_cont .foot_info .wrap{
        padding: 20px 5%;
        border: 1px solid #ccc;
    }
    .sitemap_main .foot_cont .foot_nav dl,.sitemap_main .foot_cont .foot_nav dl + ul{
        width: 50%;
        padding-right: 0;
    }
    .foot_cont .foot_nav dd li a{
        font-size: 14px;
    }
    .foot_cont .foot_nav dd li{
        line-height: 1.6;
    }
    .mav.section{
        top: 0 !important;
    }
    .loader{
        display: none;
    }
    table,th,td {
    -webkit-text-size-adjust: none !important;
            text-size-adjust: none !important;
    }
}
.singlecont .post-edit-area .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
    font-size: 16px;
}
.singlecont .wp-block-image{
    max-width: 570px;
    margin-left: auto;
    margin-right: auto;
}
.singlecont .wp-element-caption{
    font-size: 16px;
}
.wp-element-caption{
    text-align: center;
}
#pp-nav li:hover .pp-tooltip{
	color: #5b9bd5;
}
.pp-viewing-home_footer #pp-nav li:hover .pp-tooltip{
	color: #fff;
}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
    height: auto;
}
.hyosyo_table table mark.has-black-color{
color:#333 !important;
}

.aligncenter{
    text-align: center;
}