﻿.linkStyle{color: #160a0a;transition: opacity .3s;text-decoration: underline;}

/* ---------- font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600&display=swap');
:root{
    --font-jp:  "Shippori Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
body, #intro #intro_txt h2{
    font-family: var(--font-jp);
}
.font_14 {
    font-size: 15px;
}

/* ---------- color ---------- */
#contents h2{
    color: #fff;
}
#contents .back_color2::after {
    background-color: rgb(0 0 0 / 21%) !important;
}


/* ---------- all ---------- */
.tel, #contents h2 .svg_box{
    display: none;
}
#wrap {
    background: url( "../img/bg1.jpg" ) center / 350px repeat;
}
.index_header {
    margin-bottom: -5%;
}
.index_header #header {
    max-width: 93%;
}
.index_header #header .tel {
    display: none;
}
.index_header #header #header_menu li{
    border-right: 1px solid #7d7d7d;
    padding: 0 8px 8px 15px!important;
}
header #header #header_menu li a .jp {
    height: 100%;
    font-size: clamp(14px, 1.5vw, 16px);
     height: 100%!important;
}
.header_info {
    .d_flex{
        justify-content: end;
    }
    .top_cms1 {
        text-align: right;
    }
}
.index_header #header #header_menu li:hover {
    border-color: transparent;
    padding: 0 8px 0px 15px;
    opacity: 0.5;
}
#logo img{
    /* width: 42%!important; */
    max-width: 119px;
}
.sns_links li{
    width: 10.33333% !important;
}


/* ---------- top ---------- */
.txt_anim1 span{
	position: relative;
	right: 20px;
	opacity: 0;
	transition: all .8s;
}
.txt_anim1 span.start{
	right: 0;
	opacity: 1;
}
#main_img {
    position: relative;
    margin-left: auto;
    margin-bottom: 0;
    max-height: 100%;
}
.fv_txt {
    opacity: 0;
    width: 26vh;
    z-index: 2;
    right: 12%;
    top: 10%;
}
.fv_txt2 {
    z-index: 2;
    bottom: 12%;
    left: 8%;
    line-height: 2.7;
    font-size: clamp(16px, 1.5vw, 20px);
}

#intro {
    position: relative;
    height: 311px;
    max-height: 311px;
    text-align: center;
    margin: 0 auto;
    z-index: 1;
}
.intro_wrap{
    padding: 10% 0;
}
.intro_item {
    width: 19%;
    bottom: -9%;
    transform: rotate(-8deg);
    z-index: 2;
    left: 3%;
    filter: drop-shadow(-30px 10px 37px rgba(0, 0, 0, 0.1));
}
.intro_wrap::after {
    background: url( "../img/bg2.png" ) right bottom / 40% no-repeat;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.15;
}
#intro #intro_txt p {
    display: inline-block;
    line-height: 1.8;
}
#contents .box h3:before{
    border: none;
}
#top_cms{
    padding-top: 50px;
}
#top_cms .cms_title {
    background-image: none !important;
}
#top_cms .cms_title .title_box, #top_cms .cms_title .bg-mask, #page_title .back_color{
    background-color: transparent;
}
#top_cms .cms_title .title_box h2 {
    writing-mode: horizontal-tb;
    max-height: 100%;
    font-size: 25px;
    font-weight: bold;
}
#top_cms .cms_title .title_box {
    background-color: transparent;
    padding: 50px 0;
}
#top_cms .cms_title {
    margin-bottom: 0;
}



/* ---------- under ---------- */
#page_title h2 {
    writing-mode: horizontal-tb;
    color: #fff;
}
#page_title .back_color2{
    background-color: rgb(24 24 24 / 32%);
}
.all main {
    padding-top: 93px;
}
.btn_container{
    padding: 10px;
    display: inline-block;
    width: auto!important;
}
.btn_container a{padding: 8px 30px;}




/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
.sns_links li{
    width: 15% !important;
}
#contents .box h3{
    width: 100% !important;
}
}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
.logo {
    text-align: left;
}
#top_cms .contents {
    left: 0;
}
.fv_txt2 {
    bottom: 5%;
}
#intro{
    height: auto;
    max-height: inherit;
}
.intro_wrap {
    padding: 5% 0 40%;
}
.intro_item{
    left:-33%;
    right: 0;
    margin: auto;
    width: 43%;
    bottom: -3%;
}
#contents h2 {
    font-size: 19px;
    letter-spacing: 0px;
}
#contents .box h3 {
    font-size: 18px;
}
#info{
    text-align: center;
    
    .footer_cms {
        display: inline-block;
        text-align: left;
    }
}
.intro_wrap::after {
    background: url(../img/bg2.png) right bottom / 76% no-repeat;
}
#logo2 {
    text-align: center;
}
.btn_container {
    padding: 0;
    display: inline-block;
    width: 100% !important;
}
.btn_container a {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 8px 10px;
}
}


/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 28px;
    right: 81px;
    z-index: 10;
    width: 70%;
    max-width: 380px;
    transition: 0.5s;
    opacity: 0;
    pointer-events: none;
    z-index: 3;
}
#fix_bnr.scroll{
    opacity: 1;
pointer-events: auto;
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
}
@media screen and (max-width: 768px){
#fix_bnr.close{
    transform: translateX(200px);
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 73%!important;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 10px;
}
}
/* fix_bnr end ---------------------------------------------------------------------------------------------*/





