﻿/* ----------　all　---------- */
.linkStyle{
	color:var(--color1);
}
.linkStyle:hover{
	color:var(--color1);
	opacity: 0.7;
	transition: all 0.5s;
}
.font_serif{
    font-family: "Shippori Mincho", serif;
}
#loader {
    background-image: none;
}
#loader:before {
    mix-blend-mode: none;
}
footer .logo img {
    filter: invert(0.9);
}
#main_nav {
    background-image: none;
}
#header h1 img {
    max-width: 200px;
}
/* ----------　TOP　---------- */
#main_img:before {
    content: "";
    background-image: url(../img/catch.png), url(../img/catch_sub.png);
    background-size: max(300px, 21%), max(50px, 3%);
    background-repeat: no-repeat;
    background-position: 97% 50%, 2% 101%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#main_img:after {
    content: "";
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
    position: absolute;
    background: linear-gradient(to right, #ffffff00 60%, #100a01);
    z-index: 0;
    pointer-events: none;
}
#intro h2 {
    width: 50%;
    left: -1em;
    position: relative;
}
#intro, #top_cms .top_cms_box .top_cms_title,#page_title,#page8 .tel_box {
    background-image: none;
    position: relative;
}
#intro:before, #top_cms .top_cms_box .top_cms_title:before,#loader:before,#page_title:before,#main_nav:before,#page8 .tel_box:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../img/bg1.jpg');
    background-size: cover;
    mix-blend-mode: color-burn;
    pointer-events: none;
    opacity: 0.5;
}
#intro:after,#contents3:before {
    content: "";
    width: 45vw;
    height: 23vw;
    position: absolute;
    bottom: -7vw;
    right: -7vw;
    background-image: url(../img/fude2.png);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.6;
}
#contents1 {
    background-image: url(../img/con1_bg.jpg);
    background-size: cover;
    background-position: left bottom;
}
#contents1 h2 {
    width: 3vw !important;
    margin-left: 5vw;
}
#contents1 .flex_order3 {
    margin-top: -7em;
    text-align: right !important;
}
#contents1 figure img {
    box-shadow: var(--color3) 2em 2em 0px !important;
}
#contents1 .flex_order3 span {
    background: #fff;
    padding: 2% 5%;
    box-shadow: var(--color3) 1em 1em 0px;
}
#contents2 .con_box .title {
    padding-bottom: 0.5em;
    padding-left: 0.5em;
    border-bottom: 1px solid;
    text-align: center;
    margin-bottom: 0.5em;
    text-shadow: 1px 1px 5px BLACK;
}
#contents2 h3 {
    margin-bottom: 3em;
}
#contents2 .d_flex {
    justify-content: center;
}
#contents2 .con_wrap {
    justify-content: space-around;
    flex-flow: nowrap;
}
#contents3 {
    background-image: url(../img/con_bg.jpg);
    background-size: cover;
}
#contents3:before {
    bottom: auto;
    top: -8vw;
    z-index: 1;
}
#contents3::after {
    background: linear-gradient(#f2e9d6 0%, #f2e9d600);
    height: 60%;
    pointer-events: none;
}
#contents3 figure {
    box-shadow: var(--color3) 1em 1em 0px;
}
.top_cms_title h3 {
    writing-mode: inherit;
}
#top_cms .top_cms_box .top_cms_title {
    padding: 2em 0;
}
.top_cms_box {
    background-image: url(../img/con_bg.jpg);
    background-size: cover;
}
.blog_wrap a {
    border-color: var(--color1);
}
/* ----------　下層ページ　---------- */
#page_title span {
    writing-mode: inherit;
}
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */



/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){

/* ----------　all　---------- */
#header h1 img {
    max-width: 150px;
}
/* ----------　TOP　---------- */
#main_img {
    height: 80vh;
}
#main_img:before {
    background-size: 40%, 7%;
    background-position: 104% 50%, 3% 101%;
}
#header h1.active img {
    max-width: 80px;
}
#intro h2 {
    width: 80%;
}
#intro {
    padding-top: 80px;
}
#contents1 h2 {
    width: 7% !important;
    margin-left: 23%;
}
#contents1 .flex_top-left {
    justify-content: left;
}
#contents1 .grid_8 {
    margin-top: 3em;
}
#contents1 .flex_order3 {
    margin-top: -1em;
    width: 80% !important;
}
#contents1 figure img {
    box-shadow: var(--color3) 1em 1em 0px !important;
}
#contents1 .flex_order3 span {
    padding: 5% 10%;
    box-shadow: none;
}
#contents2 .con_wrap {
    flex-flow: wrap;
}
#contents2 .con_box {
    width: 95% !important;
    margin-bottom: 2em;
}
#contents2 h3 {
    margin-bottom: 3em;
    width: 80% !important;
}
#contents4 .width_1280-max {
    padding: 4em 1em !important;
}
/* ----------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
#page8 .d_flex.flex_top.pd_50px {
    padding: 50px 0px;
}
#page8 .contact_tel_box, #page8 .contact_mail {
    width: 48% !important;
}
/* プライバシーポリシー */
/* サイトマップ */

}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){

/* ----------　all　---------- */
#header h1.active img {
    max-width: 15vw;
}
/* ----------　TOP　---------- */
#main_img:before {
    background-image: url(../img/catch_sp.png), url(../img/catch_sub_sp.png);
    background-size: 70%, 40%;
    background-position: 50% 46%, 100% 95%;
}
#main_img:after {
    background: linear-gradient(to top, #ffffff00 20%, #100a0178 52%, #ffffff00 80%);
}
#intro {
    padding-top: 80px;
    padding: 50px 20px;
}
#intro h2 {
    width: 100%;
    left: -10%;
}
#contents1 h2 {
    width: 80% !important;
    margin-left: 0;
    margin: 0 auto;
}
#contents1 .flex_top-left {
    justify-content: center!important;
}
#contents1 .flex_order3 {
    margin-top: -1em;
    width: 100% !important;
}
#contents1 .flex_order3 span {
    padding: 15% 4% 5% 6%;
}
#contents1 .grid_8 {
    margin-top: 2em;
    z-index: 1;
}
#contents2 {
    padding: 50px 5% 40px;
}
#contents2 .con_box .title {
    text-shadow: 1px 1px 5px #00000069;
}
#contents2 h3 {
    margin-bottom:0em;
    width: 100% !important;
}
#top_cms .top_cms_box .top_cms_title {
    padding: 2em 0 1.5em;
    margin-bottom: 0;
}
#top_cms .top_cms_box .top_cms_title h3 {
    font-size: 24px;
}
#top_cms .top_cms_box .top_cms_title p {
    padding-top: 10px;
}
/* ----------　下層ページ　---------- */
.cate_list li {
    margin: 0 auto;
    width: 100%;
}
.cate_list a {
    padding: 10px 20px;
    width: 80%;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#page_title >div {
    transform: translateY(20%);
}
/* 会社情報 */
/* お問い合わせ */
#page8 .top_txt {
    text-align: center;
    line-height: 1.7;
}
#page8 .contact_tel_box, #page8 .contact_mail_box {
        width: 90% !important;
    }
/* プライバシーポリシー */
/* サイトマップ */

}

/* ----------　PC確認サイズ　---------- */
/* 1536 */
@media screen and (max-width: 1536px){}
/* 1530 × 735 */
@media screen and (max-width: 1530px){}
/* 1366 */
@media screen and (max-width: 1366px){}