﻿
/* ---------- font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500&family=Shippori+Mincho:wght@600;700&display=swap');
:root{
    --font-jp: "Shippori Mincho","游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-en: "Poppins", 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
h2,h3,h4{
    font-family: var(--font-jp);
}
.intro_title1 , .cms_title p, .more2 > div, .contact_txt p, .more1 a{
    font-family: var(--font-en);
    text-transform: uppercase;
}

/* ---------- color ---------- */
.load_bg_wrap .bg_color1{
    background-color: #fff;
}
#menu_nav .bg_color1{
    background-color: #636363;
}


/* ---------- all ---------- */
#page_top, .bottom_contact{
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}
#page_top.active, .bottom_contact.active{
    opacity: 1;
    pointer-events: auto;
}
.bottom_contact {
    right: 96px;
    bottom: 28px;
    display: block;
}
.bottom_contact a{
    padding: 5px 34px;
}
#wrap{
    min-width: 1200px;
}
#menu_bt{display: block;}
.header_item {display: none;}

#header{-webkit-backdrop-filter: none;backdrop-filter: none;}
.header_bg{background-color: transparent;}

#top_con{
    background: url( "../img/bg1.jpg" ) center / cover no-repeat;
    background-attachment: fixed;
}
.nav_tel {
    display: none;
}


/* ---------- top ---------- */
#main_img{
    background: url( "../img/fv_bg.jpg" ) top center / cover no-repeat;
}
#main_img{
    max-height: 65vw;
    min-height: 100%;
}
#main_img .catch {
    bottom: auto;
    top: 4%;
    max-width: 1500px;
    left: 0;
    right: 0;
    margin: auto;
}
/*.fv_txt1 {
    width: 30.5%;
    top: 42%;
    left: 0;
    max-width: 711px;
}*/
.fv_txt1 {
    width: 100%;
    top: 42%;
    left: 0;
    border-bottom: 2px solid #ccc7c6;
}
.fv_txt1 img{
    width: 30.5%;
}
.fv_item1 {
    margin: auto;
    position: relative;
    list-style: none;
    padding: 4% 0 0 0;
    z-index: 1;
    width: 57.3333% !important;
    max-width: 1000px;
}
.fv_item2 {
    width: 17%;
    right: 9.5%;
    top: 34vh;
}

.intro_item {
    width: 53% !important;
}
.intro_item.pd_l-50px {
    width: 41% !important;
    margin-top: -100px;
}
.intro_img1 {
    filter: drop-shadow(10px 40px 30px rgba(0, 0, 0, 0.1));
    width: 100% !important;
    padding: 0;
}
.intro_img1 .shadow-h {
    box-shadow: 10px 40px 30px rgb(255 255 255 / 10%);
}
.intro_img3/*, .top_con1, .top_con2*/ {
    filter: grayscale(100%);
    transition: 0.9s cubic-bezier(0.52, 0.19, 0.4, 0.96);
}
.intro_img3:hover/*,.top_con1:hover, .top_con2:hover*/{
    filter: grayscale(0);
}

#top_intro .intro_img2, .modal_img1{
    display: none;
}
.intro_title2 {
    line-height: 1.5;
    font-size: clamp(30px, 3vw, 40px);
}
.con_title1 {
    line-height: 1.5;
    font-size: clamp(23px, 2vw, 30px);
}
.intro_img3 {
    position: relative;
}
.intro_img3::before {
    content: '';
    display: inline-block;
    width: 12vw;
    height: 12vw;
    background-image: url(../img/item1.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: -35px;
    bottom: -70px;
    z-index: 2;
}
.modal_img2 {
    width: 100% !important;
    padding: 0;
}
.modal_bg {
        background-color: var(--color2);
}
.modal_txt_wrap {
    color: var(--black);
}

.cms_2-f .box_wrap, .cms_2-g .box_wrap{
    box-shadow: rgb(0 0 0 / 0%) 0px 5px 15px 0px;
}



/* ---------- under ---------- */
.border_do1-b {
    border-bottom: 1px solid #616161;
}





/* ======================================================================================
　　cursor
======================================================================================== */

.cursor_k{
    width: 8px;
	height: 8px;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 9999;
	transition: 1s;
	transition-property: opacity,background,width,height,transform;
}
.cursor_k::before {
    content: " ";
    display: block;
    width: 300px;
    height: 300px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0);
    opacity: 0;
    transition: 1s;
    background-image: url(../img/cursor.png);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: rotate 19s linear infinite;
    animation: rotate 19s linear infinite;
}
.cursor_k.is-active::before{
	opacity: 1;
}
@keyframes rotate {
	0% {
    transform: translate(-50%, -50%) rotate(0);
}
100% {
    transform: translate(-50%, -50%) rotate(
1turn);
}
}



/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
.bottom_contact {
    right: 20px;
    bottom: 20px;
    display: block;
}
.bottom_contact a {
    padding: 5px 20px;
}
#wrap{
    min-width: 100%;
}
.cursor, .cursor_k {
    display: none!important;
}
#main_img {
    max-height: 79vw;
}
#main_img .catch {
    top: 12%;
}
.fv_item1 {
    padding: 10% 0 0 0;
    width: 64.3333% !important;
}
.fv_txt1 {
    width: calc(100% + 1%);
    top: 45%;
    left: -1%;
    border-bottom: 1px solid #ccc7c6;
}
.fv_item2 {
    width: 20%;
    right: 5.5%;
    top: 27vh;
}
.intro_item {
    width: 100% !important;
    margin-bottom: 69px;
}
.intro_item.pd_l-50px {
    width: 60% !important;
    margin-top: 0;
}
.intro_img3 {
    margin-top: 0;
    filter: grayscale(2%);
    opacity: 0.9;
}
.intro_img3::before {
    width: 16vw;
    height: 18vw;
    left: -35px;
    bottom: -70px;
}
#top_con {
    background: #efece9;
    background-attachment: scroll;
}
.cms_title .font_50,#footer_info .info_txt .info_title1,.contact_txt .font_40 {
    font-size: 38px;
}
}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
html, body {
    font-size: 14px;
}
#main_img {
    max-height: 141vw;
    height: 100%;
    margin-bottom: 55px;
}
.fv_item1 {
    padding: 18vh 0 0 0;
    width: 87.3333% !important;
    left: -2%;
}
.fv_txt1 {
    width: calc(100% + 7%);
    top: 36vw;
    left: -9%;
    border-bottom: 1px solid #ccc7c6;
}
.fv_txt1 img {
    width: 57.5%;
}
.fv_item2 {
    width: 27%;
    right: -3.5%;
    top: 41vw;
}
.intro_title1,.intro_title2  {
    opacity: 1!important;
    filter: blur(0px)!important;
    transform: none!important;
}
.intro_title2 {
    font-size: 23px;
}
.cms_title .font_50, #footer_info .info_txt .info_title1, .contact_txt .font_40, .page_title_wrap .font_34_sp {
    font-size: 23px;
}
#top_cms1 .top_cms1_title {
    margin-bottom: 10px;
    font-size: 27px;
}
.intro_item.pd_l-50px {
    width: 85% !important;
}
.intro_img3::before {
    width: 22vw;
    height: 25vw;
    left: -1vw;
    bottom: -54px;
}
.cms_3-e .box_title1 {
    border: none;
}
.cms_wrap {
    padding: 0;
}
}







