﻿/* color -----------------------------------------------------------------------------*/

:root{
    --color1:#B10013;
    --color2:#f3f3f3;
    --color3:#B10013;
    --color4:#d1ebf2;
    --color5:#ffffff;
    --white:#ffffff;
    --black:#231815;
    --gray:#ccc;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color1);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color2);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: var(--color1);} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: var(--color2);} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: var(--color3);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.border_color1,.hvr_border_color1:hover{border-color: var(--color1);}
.border_color2,.hvr_border_color2:hover{border-color: var(--color2);}
.border_color3,.hvr_border_color3:hover{border-color: var(--color3);}
.border_color4,.hvr_border_color4:hover{border-color: var(--color4);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{color: var(--color1);
          border-bottom:solid 1px;
}
body#body {
    background: var(--black);
}
/* color -----------------------------------------------------------------------------*/

/* ----------------　all　---------- */
.linkStyle:hover{
	color:　var(--color1);
	opacity: 0.7;
	transition: all 0.5s;
}
body,#intro h2, #contents1 h2, #contents2 h2, #top_cms h2, #top_info h2, #f_contact .con_bt, .more_bt a, #top_info .more_bt2 a,#main_img .txt.animStart h2,#main_img .txt,#page_title h2 {
     font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho"!important;
     font-weight: bold;
}
#footer #logo2 {
    max-width: 400px;
}
.load_logo figure {
    max-width: 400px;
}
#loader {
    background: var(--black);
}
#footer p {
    color: #fff;
}
#copyright,#copyright a {
    color: #fff;
}
.map,.top_map {
    display: none;
}
.info_txt{
    text-align: center;
}
.more_bt2 a{
    margin: 0 auto ;
}
/* ------------------------------　TOP　---------- */
#main_img::before {
    opacity: 0.6;
    pointer-events: none;
}
#main_img h2 {
    font-size: 4vw;
    text-align: center;
}
#main_img .txt {
    top: 41%;
}
#main_img:after {
    content: "";
    width: 600px;
    height: 390px;
    position: absolute;
    top: 0;
    left: 0%;
    background-image: url(./dup/img/fv1.png);
    background-size: contain;
    background-repeat: no-repeat;
    mix-blend-mode: overlay;
    z-index: 1;
    pointer-events: none;
}
.txt_anim1 span{
	position: relative;
	bottom: 20px;
	opacity: 0;
	transition: all .8s;
}
.txt_anim1 span.start{
	bottom: 0;
	opacity: 1;
}
.txt_anim1 span:nth-of-type(3), .txt_anim1 span:nth-of-type(4), .txt_anim1 span:nth-of-type(10), .txt_anim1 span:nth-of-type(11) {
    font-size: 1.5em;
}
.intro_txt a {
    color: var(--white);
    transition: all .3s;
    border-bottom: 1px solid;
}
.intro_txt a:hover {
    color: var(--black);
}
#intro h2 {
    position: relative;
}
#intro h2:first-letter,#contents1 h2:first-letter,#contents2 h2:first-letter {
    font-size: 1.5em;
}
#intro h2:before,#contents1 h2:before,#contents2 h2:before,#top_cms h2:before {
    content: "";
    width: 100%;
    height: 2px;
    border-bottom: 5px solid var(--white);
    position: absolute;
    bottom: -3px;
}
#contents1 h2 {
    position: relative;
}
#contents1 h2:before {
    border-bottom: 5px solid var(--color1);
}
#contents2 h2:before {
    width: 70%;
    left: 50%;
    transform: translateX(-50%);
}
#contents2 h2 {
    position: relative;
}
#contents2 .contents2_bg::before {
    opacity: 0.5;
}
#top_cms h2, #top_cms h2 span {
    color: var(--white);
}
#top_cms h2{
    position: relative;
}
#top_cms h2:before {
    width: 70%;
    bottom: -10px;
}
/* ------------------------------　下層ページ　---------- */
/*#page_title.animStart .bg {*/
/*    background: url(./dup/img/page_title.jpg) 50% 10% / cover no-repeat !important;*/
/*}*/
#f_contact::before {
    opacity: 0.5;
}

/* 会社情報 */
#page7 .txt_color1,#page7 .txt_color_nomal {
    color: var(--white)!important;
}
/* お問い合わせ */
#tel_txt .txt_color1,#tel_txt p {
    color: #Fff;
}
/* プライバシーポリシー */
#page9 .txt_color1,#page9 .txt_color_nomal,#page9 p {
    color: var(--white)!important;
}
#google_privacy {
    border: 1px solid;
    background-color: transparent!important;
}
#google_privacy a {
    color: #fff;
}
/* サイトマップ */
#page10 h2, #page10 h2 span {
    color: #fff;
}


/*---------------------------------------------------------------------------
			          タブレット
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
/* --------------------　all　---------- */
.info_txt {
    padding: 0;
}
/* --------------------　TOP　---------- */
#main_img .txt {
    top: 37%;
    left: 50%;
    transform: translateX(-50%);
}
#main_img h2 {
    font-size: 7vw;
    line-height: 1.5;
}
#main_img:after {
    width: 500px;
    height: 320px;
    top: 80px;
}
#intro h2:before {
    width: 80%;
}
#contents2 h2:before {
    width: 100%;
}
/* --------------------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */

}



/*---------------------------------------------------------------------------
		            	スマホ
---------------------------------------------------------------------------*/
@media screen and (max-width: 667px){
/* --------------------　all　---------- */
.load_logo {
    width: 70%;
}
#header #pc_nav li {
    width: 80%!important;
    padding-top: 5px;
}
/* --------------------　TOP　---------- */
#main_img:after {
    width: 300px;
    height: 200px;
    top: 60px;
}
#main_img h2 {
    font-size: 7.5vw;
    line-height: 1.5;
}
#main_img .txt {
        top: 50%;
        transform: translate(-50%, -50%);
    }

#intro h2:before, #contents1 h2:before, #contents2 h2:before, #top_cms h2:before {
    border-bottom: 3px solid var(--white);
    bottom: 0px;
}
#intro h2:before {
    width: 100%;
}
#intro h2 {
    font-size: 22px;
}
#contents1 h2,#contents1 p {
    color: #fff;
}
#top_cms h2:before {
    bottom: -7px;
}
/* --------------------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */
}