﻿
h2, h3, .cate_title {
font-family: 'Noto Serif JP', serif !important;
}
/* color */
.txt_color_nomal{color: #212121;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #354161} /* メインカラー */
.txt_color2{color: #EFEFEF} /* サブカラー */
.txt_color3{color: #231815} /* アクセントカラー1 */
.txt_color4{color: #d0d0d0} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #354161} /* メインカラー */
.bg_color2{background-color: #EFEFEF} /* サブカラー */
.bg_color3{background-color: #231815} /* アクセントカラー1 */
.bg_color4{background-color: #d0d0d0} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}


/* border-color ※!important */
.border_color1{border-color: #354161}
.border_color2{border-color: #EFEFEF}
.border_color3{border-color: #231815}
.border_color4{border-color: #d0d0d0}


/* hover ---------------------------------------------------------------------------------------------*/
/* color */
.hvr_txt_color_nomal:hover{color: #212121;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #354161} /* メインカラー */
.hvr_txt_color2:hover{color: #EFEFEF} /* サブカラー */
.hvr_txt_color3:hover{color: #231815} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #d0d0d0} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #354161} /* メインカラー */
.hvr_bg_color2:hover{background-color: #EFEFEF} /* サブカラー */
.hvr_bg_color3:hover{background-color: #231815} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #d0d0d0} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}


/* border-color ※!important */
.hvr_border_color1:hover{border-color: #354161}
.hvr_border_color2:hover{border-color: #EFEFEF}
.hvr_border_color3:hover{border-color: #231815}
.hvr_border_color4:hover{border-color: #d0d0d0}

.linkStyle {
  color: #231815;
}
#page8 .txt_color2 {
    color: #354161;
}
#video {
  background-color: #e2e2e2;
}

#main_menu .txt_color3, .more .txt_color3 {
    color: #354161;
}
.pc_box .contact_bt .txt_color3 {
    color: #354161;
} 
.pc_box .contact_bt .txt_color3:hover, .more .txt_color3:hover {
    color: #fbfbfb;
} 
#cms_6-b .txt_color3, #cms_2-c .txt_color3 {
    color: #354161;
}
#main_img {
    z-index: 1;
    overflow: hidden;
    position: relative;
    max-height: 100vh;
    min-height: auto;
}
.pc_box .tel_bt {
  display: none;
}
.fa-envelope:before {
   display: none;
}
#contents1 {
	position: relative;
}
#contents1:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    width: 50%;
    height: 100%;
    top: 80%;
    right: 20px;
    opacity: 0.3;
}
#contents1.is-show:before {
    opacity: 1;
}
#contents2 {
	position: relative;
}
/*#contents2 .d_flex {
    background-color: #354161;
}*/
#contents2 .mg_t-20px {
    padding-left: 30px;
    padding-bottom: 30px;
    color: #fbfbfb;
}
#contents2 .txt_color1 {
    color: #fbfbfb;
    padding-left: 30px;
    padding-top: 15px;
}
#contents2:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
    width: 50%;
    height: 100%;
    top: 75%;
    left: 6%;
    opacity: 0.3;
}
#contents3 .txt6 {
	position: relative;
}
#contents3 .txt6:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con3-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    width: 200px;
    height: 100%;
    bottom: -126px;
    left: 0px;
    opacity: 0.3;
}
#contents3 .txt8 {
	position: relative;
}
#contents3 .txt8:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con3-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
    width: 18%;
    height: 100%;
    bottom: -40px;
    right: 0px;
    opacity: 0.3;
}
#contents3 .txt8:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con3-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
    width: 90px;
    height: 100%;
    bottom: -40px;
    right: 0px;
    opacity: 0.3;
}
footer, #contents_box {
    width: 100%;
    max-width: 2500px !important;
    background-color: #e2e2e2;
}
#page_title {
background-color: #354161;
}
#page_title .txt_color1, #page_title .txt_color3 {
    color: #fbfbfb;
}
#page_title .page_box::before {
    background-color: #fbfbfb;
}
#page_title .page_box {
    position: relative;
    padding-left: 120px;
    padding-bottom: 20px;
    margin-top: 15px;
}
.flex_box header {
    background-image: url(./Dup/img/header.png);
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-position-y: 92%;
}

.fadein{
     opacity: 0;
     transform: translateY(20px);
     transition: 1.5s;
     transition-property: opacity,transform
}


.fadein.fadetrans{
     opacity: 1;
     transform: none
}
.contact {
  display: flex;
}
.contact .width_30per {
    width: 30%!important;
    margin: 0 auto;
}
.contact .pd_30px {
    padding: 30px 0px;
}
.contact .font_2up {
    font-size: 14px;
}
#contact_tel span {
    bottom: 17px;
    right: 30%;
}
#contact_tel {
    font-size: calc(1rem + 3px);
}
.yama {
    right: 0% !important;
    top: -15px;
}
.cate_list a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 10px;
}
#main_menu .d_block {
margin-bottom: 40px;
}

.cms_title::before {
    content: "";
    width: 50px;
    height: 1px;
    background-color: #354161;
    position: absolute;
    top: 50%;
    left: 0;
    -ms-transform: translate(0%,-50%);
    -webkit-transform: translate(0%,-50%);
    transform: translate(0%,-50%);
}
#main_menu ul li a::before {
    content: "";
    position: absolute;
    top: 42%;
    left: 0;
    width: 20px;
    height: 1px;
    background-color: #354161;
    transition: .5s;
}
#page8 .border_color2 {
    border-color: #354161;
}
footer .flex_top {
    align-items: flex-start;
    position: relative;
    z-index: 3;
}
#cms_6-b .bg_color3 {
    background-color: #e2e2e2;
}
#cms_6-b .txt_white {
    color: #354161;
}
.pc_box .flex_space-between, .link_box .flex_space-between {
    justify-content: space-around;
}
/**********アニメーション******************/
.red::before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background: #354161;
  transition: 1s;
}

.fade::before {
  width: 100%;
}

#contents2 .grid_5, #contents2 .grid_6 {
  position: relative;
}
/********************************/
@media screen and (max-width: 1453px){
#contents3 .txt6:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con3-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    width: 200px;
    height: 100%;
    bottom: -147px;
    left: 0px;
    opacity: 0.3;
}
}
@media screen and (max-width: 1111px){
#contents3 .txt6:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con3-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    width: 200px;
    height: 100%;
    bottom: -129px;
    left: 0px;
    opacity: 0.3;
}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){

#logo {
    width: 100%;
    max-width: 300px;
}
.flex_box header {
    background-image: none;
}
#contents3 .txt8:after {
    width: 80px;
    height: 100%;

    bottom: -30px;
    right: 0px;
    opacity: 0.3;
}
#contents3 .txt6:after {
    width: 200px;
    height: 100%;
    bottom: -113px;
    left: 0px;
    opacity: 0.3;
}
#contents1 {
padding-bottom: 60px;
}
#contents1:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    width: 70%;
    height: 100%;
    top: 85%;
    right: 10px;
    opacity: 0.2;
}
#contents2:after {
    position: absolute;
    content: "";
    background-image: url(./Dup/img/con2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
    width: 80%;
    height: 100%;
    top: 76%;
    left: 3%;
    opacity: 0.3;
}
}


/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#contents2:after {
    width: 350px;
    height: 100%;
    top: 0px;
    left: 9px;
    opacity: 0.3;
}
#contents1 {
    padding-bottom: 60px;
}
#contents1:after {
    width: 352px;
    height: 100%;
    top: 93%;
    right: 25px;
    opacity: 0.3;
}
.pc_box #logo {
    width: 100%;
    max-width: 200px;
}
#contents2:after {
    width: 329px;
    height: 100%;
    top: 261px;
    left: 22px;
    opacity: 0.3;
}
#contents3 .txt6:after {
    width: 160px;
    height: 100%;
    bottom: 227%;
    left: 56%;
    opacity: 0.3;
}
#contents3 .txt8:after {
    width: 80px;
    height: 100%;
    bottom: 191%;
    right: 0px;
    opacity: 0.3;
}
#page_title .page_box {
    position: relative;
    padding-left: 70px;
    padding-bottom: 20px;
    margin-top: 15px;
}
.contact {
    display: block;
}
.contact .width_30per {
    width: 100%!important;
    margin: 20px auto 15px;
}
#main_img .txt1 {
    width: 90%;
}
#contents3 .txt6 {
    position: relative;
    margin-bottom: 10px;
}
}

/* ----------- IE ------ ---------- */
@media all and (-ms-high-contrast:none) {
#cms_6-b .cate .cate_title {
    padding: 10px 5px 12px !important;
}
#cms_2-a .cate .cate_title {
    padding-top: 10px !important;
}
	
}