﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
body{font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;font-weight: 400;}
.font_bold{font-weight: 700;}
/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
main,footer,#main_img,.bg.intro,#intro .banner a,#page_title,.top_cms_box{position: relative;}
/*リピートなし*/
main:after,.all main:before,#main_img:after,.bg.intro:after,#intro .banner a:before,
.top_cms_box:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}
/*リピートあり*/
footer:before,#main_img:before,#contents .back_color2:before,#page_title:before{
content: "";
display: block;
position: absolute;
}

footer:before,#main_img:before,.bg.intro:after,#contents .back_color2:before,#page_title:before{
background-image: url(./Dup/img/border2.png);
background-size: 500px;
background-repeat: repeat-x;
width: 100%;
height: 15px;
left: 0;
z-index: 2;
}
#main_img:before,#contents .back_color2:before,#page_title:before{bottom: -2px;}
.bg.intro:after{bottom: -5px;transform: scale(1, -1);}
footer:before{top: -10px;}

#contents .back_color2:before,#page_title:before{background-image: url(./Dup/img/border.png);}

#main_img:after{
background-image: url(./Dup/img/catch.png);
background-size: 100%;
width: 38vw;
height: 38vw;
top:50%;
left: 51%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
z-index: 1;
}
#intro .banner a:before{
background-image: url(./Dup/img/obj1.png);
width: 250px;
height: 190px;
bottom: -30px;
right: -150px;
}

/* レンガ */

.top_cms_box:before{
background-image: url(./Dup/img/renga1.png);
width: 300px;
height: 200px;
top: -80px;
opacity: 0.1;
z-index: -1;
}
.top_cms_box.box1:before,
.top_cms_box.box3:before,
.top_cms_box.box5:before{left:-30px;}
.top_cms_box.box2:before,
.top_cms_box.box4:before{background-image: url(./Dup/img/renga2.png);right:-30px;}

main:after{
background-image: url(./Dup/img/renga2.png);
width: 300px;
height: 200px;
bottom: 65px;
right:-30px;
opacity: 0.1;
z-index: -1;
}
.all main:before{
background-image: url(./Dup/img/renga1.png);
width: 300px;
height: 200px;
top: 345px;
left:-30px;
opacity: 0.1;
z-index: -1;
}
/*--------------------------------
全体
--------------------------------*/
#wrap{overflow: hidden;}

#footer{border-top: none;}
#logo2{width: 70%!important;}

.drawer-nav{background-color: rgba(255,255,255,0.95);}

.fix_banner{
width: 50px;
position: fixed;
bottom: 90px;
right: 10px;
z-index: 5;
}

.clone-nav #logo,.all_header #logo{width: 20%!important;}
.clone-nav .header_info,.all_header .header_info{width: 45%!important;}
/*--------------------------------
TOP
--------------------------------*/
.bg,footer{
background-image: url(./Dup/img/bg.jpg);
background-size: 50%;
}

#intro {
height: inherit;
max-height: inherit;
text-align: center;
}
#intro .intro_no{
top: 50px;
left: -40px;
transform: rotate(180deg);
}
/* TOPお知らせ*/
.top_news .cate_box:last-of-type{border-bottom:1px solid #E6EAED;}

/* TOP事業内容 */
.link_type3{padding-bottom: 50px;}
.link_type3 .link_img1 {z-index: 1;position: relative;display: block;}
.link_type3 .link_img1:before{
content: "";
display: block;
background-color: rgba(110,110,110,0.5);
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
.link_type3 .cate_box a:hover .link_img1 img{transform: translate(-50%, -50%) scale(1.05,1.05);}
.link_type3 .link_title1 {z-index: 1;}
.link_type3 .cate_box a .link_title1 {transition-timing-function: cubic-bezier(.78,.09,.27,1.36);line-height: 1.5;display: block;}
.link_type3 .cate_box a .link_title1{
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
-webkit-text-orientation: upright;
text-orientation: upright;
vertical-align: center;
display: inline-block;
}
.link_type3 .cate_box a:hover .link_title1{font-size: 20px;padding: 15px 30px;}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){	
.link_type3{padding-bottom: 0;}
}


#contents h2 span{
    padding: 30px;
    background-color: #0d5072;
    color: #fff;
    font-weight: 700;
    font-size: 26px;
    max-height: inherit;
    transform: translateY(-50px);
}

#top_cms .cms_title .bg-mask,#top_cms .cms_title .title_box{background-color: transparent;}
#top_cms .cms_title .title_box{padding: 0;}
#top_cms .cms_title .title_box h2{
padding: 30px;
background-color: #0d5072;
color: #fff;
font-weight: 700;
font-size: 26px;
max-height: inherit;
}
/*--------------------------------
下層
--------------------------------*/
#page_title h2{
padding: 20px;
background-color: #0d5072;
color: #fff;
font-weight: 700;
font-size: 26px;
max-height: inherit;
}

.cate_list li {padding: 10px;margin: 0;}
.cate_list li a {
display: block;
padding: 15px 10px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-align: center;
}
@media  screen and (max-width: 768px){
.cate_list li a{padding: 10px 10px;}
}
@media  screen and (max-width: 667px){
.cate_list li a{text-align: left;}
}


.cms_6-b .cate_box, .cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2,.cms_6-b .cate_box:first-of-type{border: none;}
.cms_6-b .cate_box .box_txt2{background-color: #f7f7f7;}


@media screen and (max-width: 1280px){

#main_img:after{
width: 47vw;
height: 46vw;
}
.top_cms_box:before,main:after,.all main:before{
width: 250px;
height: 170px;
}

}

/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){
.clone-nav #logo,.all_header #logo{width: 30%!important;}
#logo2{width: 90%!important;}

.bg,footer{background-size: 100%;}

#main_img:after {
width: 53vw;
height: 52vw;
}
.bg.intro:before{
width: 30vw;
height: 23vw;
bottom: 25px;
left: 25px;
}
#intro .banner a:before{
width: 200px;
height: 150px;
right: -115px;
}

#contents .box h3{width: calc(100% + 2rem)!important;}

#top_cms .cms_title{margin-bottom: 80px;}

.top_cms_box:before,main:after,.all main:before{
width: 200px;
height: 130px;
}
main:after{bottom: 25px;}

.all main{padding-bottom: 120px;}

}

/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){

.clone-nav #logo,.index_header #logo,.all_header #logo{width: 54%!important;}
.clone-nav .header_info,.index_header .header_info,.all_header .header_info{width: 30%!important;}
.clone-nav .header_info .tel,.index_header #header .tel,.all_header .header_info .tel{margin-right: 0;}

#logo2{margin-top: 50px;}

.fix_banner{
width: 30px;
bottom: 70px;
right: 5px;
}
.fix_banner .width_50{width: 30px;}

#page-top{right: 5px;}
#page-top a{
width: 30px;
height: 30px;
}

#main_img:after{
width: 75vw;
height: 74vw;
}

#intro .intro_no{
    transform: none;
}
.bg.intro:before{
width: 50vw;
height: 39vw;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#intro .banner a:before{
width: 120px;
height: 90px;
right: -15px;
bottom: -35px;
}

#contents h2 span,#top_cms .cms_title .title_box h2,#page_title h2{
padding: 20px;
font-size: 20px;
}
#top_cms .cms_title {margin-bottom: 50px;}
#top_cms .cms_title .title_box h2,#page_title h2,
.link_type3 .cate_box a .link_title1{
-webkit-writing-mode: horizontal-tb;
-ms-writing-mode: lr-tb;
writing-mode: horizontal-tb;
}


.top_cms_box:before, main:after, .all main:before {
width: 150px;
height: 100px;
}
.all main:before{top: 270px;}

}

/*IE*/
@media all and (-ms-high-contrast: none) {

#intro .intro_no{
    top: 175px;
    left: 80px;
}

.cms_6-b .cate_box .box_txt1,.cms_6-b .cate_box .box_txt2,
#cms_6-b .cate .cate_title,#cms_6-b .cate .box_txt1,#cms_6-b .cate .box_txt2{padding: 10px!important;}
#top_cms .btn,#page10 .btn{padding-top: 0;}
#cms_1-e .date{padding-top: 10px!important;padding-bottom: 10px!important;}
#page8 #tel_contact p a{padding-top: 20px!important;}
#page9 .box_wrap .box p a{padding-top: 5px;}
}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #0D5072; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #0D5072;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}
.bg_color1 .linkStyle{color: #fff;}
.bg_color2 .linkStyle{color: #0D5072;}
.bg_color3 .linkStyle{color: #fff;}
.bg_color4 .linkStyle{color: #0D5072;}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
.linkStyle{display: inline-block;}
}
