﻿/* all page */
/*fonts*/
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap');
body, .font_sans-serif, .contact_bt, #page_top, #top_cms .cms_sub_title, .more, a[href^="tel:"], #page_title p, .con_no, .pager li a {
    font-family: "Sawarabi Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
html, body {font-size: 17px;}

/* color ---------------------------------------------------------------------------------------------*/
.linkStyle{color: var(--color3);text-decoration: underline;transition: opacity .3s;}
.linkStyle:hover{opacity: 0.7}
#google_privacy a{color: var(--color3);}
:root{
	--color1: #e6e6e6;
	--color2: #dbdbdb;
	--color3: #FF8811;
	--color4: #fbfbfb;
	/*--font-jp: 'Noto Sans JP', "游ゴシック Medium", sans-serif;*/
}

body,.txt_color_nomal{color: #1a1a1a;}
.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);}
.txt_color4, .hvr_txt_color4:hover{color: var(--color4);}

/* background-color */
.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);}
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4);}

/* border-color ※!important */
.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);}

.cms_wrap .bg_color1{background-color: var(--color3);}
#page_top .scroll_block::before {
    border-left: solid 2px #1a1a1a;
    border-top: solid 2px #1a1a1a;
}
/* header */
#header .menu_stick span, #header .menu_stick.stick_trans span:first-of-type, #header .menu_stick.stick_trans span:last-of-type {
    background-color: #1a1a1a;
}
#header #logo a {
    padding: 15px 10px 20px 10px;
    background-color: rgba(219, 219, 219, 0.9);
}
#header.headtrans #logo a {
    padding: 20px 0px;
    background-color: transparent;
}

/* footer */


/* top ----------------------------------------------------------------*/

/* main img */
#main_img .main_title{
    mix-blend-mode: exclusion;
    color: #fff;
    font-size: calc(1rem + 28px);
}
#main_img .main_l {
    top: 20%;
    left: 0;
    width: 50%;
    max-width: 750px;
}
#main_img .main_r {
    bottom: 20%;
    right: 0;
    width: 50%;
    max-width: 750px;
}
.anim_box .item1{
	transform: translateX(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.anim_box .item2{
	transform: translateX(-20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.anim_box .item1.start, .anim_box .item2.start{transform: translateX(0);opacity: 1;}

/* main */

/* intro */
#intro .intro_back {bottom: -3px;}
#intro .main_bg {
    background-image: linear-gradient(to bottom, rgba(230,230,230,0) 0%, var(--color4) 98%);
    background-color: transparent;
    opacity: 1;
    top: 0;
    left: 0;
}
.con_no_wrap.d_inline_b.fadetrans::before{
    display: none;
}
.intro_wrap .con_no {
    font-size: 150px;
    font-style: italic;
    width: calc(100% + 20px);
    transform: translateX(-20px);
    opacity: 0.7;
}
.intro_wrap .intro_title {
    margin-top: -50px;
    position: relative;
    z-index: 1;
}

/* contents */
.con1_wrap::before, #top_cms::before {
    content: "";
    background-image: url(/Files/img/texture_01.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
    width: 50%;
    height: 100%;
    position: absolute;
    bottom: -30%;
    right: 2%;
    z-index: 1;
    mix-blend-mode: darken;
    pointer-events: none;
}
#contents2 .con2_img1 , #contents3 .con3_img1, #page_title {
    transition: ease 0.3s;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    position: relative;
}
.con2_img1::before,.con3_img1::before, #page_title::before {
    content: "";
    background-image: url(/Files/img/glass_tex.jpg);
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    backdrop-filter: blur(0.5px);
    mix-blend-mode: soft-light;
}
#intro .intro_title br, .con3_title br {display: none;}

/* topcms */
.cms_wrap .border_color1 {border-color: var(--color3);}
#top_cms .cms_title span {background-color: var(--color3);}
#top_cms .cms_box::before {
    background-color: var(--color3);
    opacity: 1;
}
#top_cms{position: relative;}
#top_cms::before {
    background-position: top left;
    width: 50%;
    height: 100%;
    position: absolute;
    top: -20%;
    left: 2%;
}
#top_cms .cms_sub_title {
    height: 100%;
    pointer-events: none;
}

/* under page ----------------------------------------------------------------*/
.cms_6-b .cate_box, .cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2 {border-color: #fff;}
.cms_6-b .cate_box:first-of-type {border-top: 1px solid #fff;}
.cate_list a:hover {color: var(--color3);}
#cms_5-f .cate_box .box_txt1, .cms_5-f .cate_box .box_txt1 {background-color: rgba(221, 221, 221, 0.8);}
#page_title p {
    height: 100%;
    pointer-events: none;
}

/* ---------- 1536px ---------- */
@media screen and (max-width: 1536px){}
/* ---------- 1366px ---------- */
@media screen and (max-width: 1366px){}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#main_img {height: 100vw !important;}
#intro{background-image: none;}
#top_cms::before {
    top: 5%;
    left: -10%;
}
.more a {color: var(--color3);}

}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#loader img{width: 150px;}
#header #logo a {
    width: 110px;
}
#main_img {height: calc(100vh - 50px) !important;}
#main_img .main_l, #main_img .main_r {width: 80%;}
.intro_wrap .con_no {
    font-size: 85px;
    white-space: nowrap;
}
#intro .intro_title br, .con3_title br {display: block;}
#intro .intro_wrap, #contents2 .con2_box, #contents3 .con3_box {padding: 50px 20px;}

}





